参考:https :
//bugs.java.com/bugdatabase/view_bug.do?bug_id=8186315
我真的很难找出MinRAMPercentage的功能,尤其是与InitialRAMPercentage相比。
我假设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,没有找到“最小堆大小”值;因此,MinRAMPercentage似乎从未被使用过。
超级困惑,显然我不是唯一的一个。正如我在这里和这里所收集的那样,OpenJ9帅哥似乎也没有完全解析这些选项的意图。他们似乎选择不实施MinRAMPercentage
afaics。
因此:设置MinRAMPercentage的实际预期用途和效果是什么?
-XX:InitialRAMPercentage
未设置/ 时,用于计算初始堆大小。InitialHeapSize``-Xms
这听起来违反直觉的,但两者-XX:MaxRAMPercentage
并-XX:MinRAMPercentage
用来计算 最大堆尺寸
时MaxHeapSize
/ -Xmx
未设置:
对于物理内存较小的系统,MaxHeapSize
估计为
phys_mem * MinRAMPercentage / 100 (if this value is less than 96M)
否则(非小物理内存)MaxHeapSize
估计为
MAX(phys_mem * MaxRAMPercentage / 100, 96M)
确切的公式有点复杂,因为它还考虑了其他因素。
注意:用于计算初始堆大小和最大堆大小的算法取决于特定的JVM版本。控制堆大小的首选方法是设置Xmx
并Xms
显式。
我假设InitialRAMPercentage设置启动时堆的数量,MinRAMPercentage和MaxRAMPercentage设置JVM允许收缩/增长到的堆的底部和顶部限制。 显然情况并非如此。当我启动一个JVM(使用UseContainerSupport,具有这些新的内存设置参数)时,如下所示: InitialHeap和MaxHeap设置后,我无法找到“最小堆大小”值;因此,MinramP
问题内容: 参考:https : //bugs.java.com/bugdatabase/view_bug.do?bug_id=8186315 我真的很难找出MinRAMPercentage的功能,尤其是与InitialRAMPercentage相比。 我假设InitialRAMPercentage设置了启动时的堆数量,MinRAMPercentage和MaxRAMPercentage设置了允许J
我想知道这个表达式是否正确,是否意味着:我在字段状态上加了一个写锁,然后更改它。如果不是,我想知道参数的含义是什么,因为我总是看到这个。
我知道appengine数据存储和什么是云数据存储,使用云数据存储对我来说总是一个困惑,以下是我的问题: 云数据存储是否需要计算引擎?(在google文档中,我看到了启用计算引擎) 如何从appengine应用程序访问云数据存储(这是非常需要的) 如何启用多个应用程序访问此公共数据存储? 注意:我知道如何激活它,但我没有得到明确的答案,我的问题在上面。
虚拟机: 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。注意内存参数。(罐子大小为56MB) 在我的Ubuntu系统监视器中,jar内存使用情况如下所示。 当我使用YourKit分析jar时,它显示在下面,这并不等于上面的内存使用量。 我错过了什么?