【发布时间】:2019-06-14 23:30:46
【问题描述】:
参考: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 伙计们似乎也没有完全解析这些选项的意图,因为我收集了here 和here。他们似乎选择干脆不实施 MinRAMPercentage afaics。
那么:设置 MinRAMPercentage 的真正预期用途和效果是什么?
【问题讨论】: