当前位置: 首页 > 知识库问答 >
问题:

新JVM内存参数InitialRAMPercentage和MinRAMPercentage含义的澄清

匡安宜
2023-03-14

我假设InitialRAMPercentage设置启动时堆的数量,MinRAMPercentage和MaxRAMPercentage设置JVM允许收缩/增长到的堆的底部和顶部限制。

显然情况并非如此。当我启动一个JVM(使用UseContainerSupport,具有这些新的内存设置参数)时,如下所示:

java -XX:+UseContainerSupport -XX:InitialRAMPercentage=40.0 -XX:MinRAMPercentage=20.0 -XX:MaxRAMPercentage=80.0 -XX:+PrintFlagsFinal -version | grep Heap

InitialHeap和MaxHeap设置后,我无法找到“最小堆大小”值;因此,MinramPercentry似乎从未被使用过。

那么:设置minrampercentry的真正预期用途和效果是什么?

共有1个答案

杨超
2023-03-14

-xx:initialrampercentry用于在未设置initialheapsize/-xms时计算初始堆大小。

这听起来有悖于直觉,但在未设置maxheapsize/-xmx时,使用-xx:maxrampercentry-xx:minrampercentry来计算最大堆大小:

>

  • 对于物理内存较小的系统,maxheapsize估计为

    phys_mem * MinRAMPercentage / 100  (if this value is less than 96M)
    

    否则(非小物理内存maxheapsize估计为

    MAX(phys_mem * MaxRAMPercentage / 100, 96M)
    

    精确的公式要复杂一些,因为它还考虑了其他因素。

    注意:计算初始堆大小和最大堆大小的算法取决于特定的JVM版本。控制堆大小的首选方法是显式设置xmxxms

  •  类似资料:
    • 问题内容: 参考:https : //bugs.java.com/bugdatabase/view_bug.do?bug_id=8186315 我真的很难找出MinRAMPercentage的功能,尤其是与InitialRAMPercentage相比。 我假设InitialRAMPercentage设置了启动时的堆数量,MinRAMPercentage和MaxRAMPercentage设置了允许J

    • 问题内容: 参考:https : //bugs.java.com/bugdatabase/view_bug.do?bug_id=8186315 我真的很难找出MinRAMPercentage的功能,尤其是与InitialRAMPercentage相比。 我假设InitialRAMPercentage设置了启动时的堆数量,MinRAMPercentage和MaxRAMPercentage设置了允许J

    • 我想知道这个表达式是否正确,是否意味着:我在字段状态上加了一个写锁,然后更改它。如果不是,我想知道参数的含义是什么,因为我总是看到这个。

    • 虚拟机: 4CPU 10GB RAM 10GB交换 Java1.7-Xms=-Xmx=6144m Tomcat 7 我们观察到JVM有一种非常奇怪的行为。JVm驻留内存开始收缩,交换使用率飙升至50%以上。 请参阅下面来自监控工具的统计数据。 http://i44.tinypic.com/206n6sp.jpg http://i44.tinypic.com/m99hl0.jpg 任何能理解这一点的

    • 我有一个jar文件,我使用单元文件运行。单元文件中的run命令如下: ExecStart=/usr/bin/java-Xms200m-Xmx465m——启用预览-jar-myapp-1.0.0.jar 我的应用程序总是记录允许使用的最大内存量。它使用以下代码对此进行记录: 由于某种原因, 的值总是比 参数的值小 左右。因此,如果jar文件使用参数运行,则应用程序将仅获得的可用RAM内存。 我的问题

    • 本文向大家介绍gradle 调整Gradle的JVM内存使用率参数,包括了gradle 调整Gradle的JVM内存使用率参数的使用技巧和注意事项,需要的朋友参考一下 示例 您可以通过编辑$GRADLE_USER_HOME/.gradle/gradle.properties(~/.gradle/gradle.properties默认情况下)并设置来设置或增加用于Gradle构建和Gradle守护进