在我的情况下,这个值通常不同于-Xmx我指定的值.
对于-Xmx810M它返回821035008它783MB.根据各种(非真正可靠的)来源,它应该完全返回-Xmx参数指定的值.
我在找:
-XmxmaxMemory()是不准确的小智 6
根据http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4391499(从2001年开始,它可能在较新版本的JVM中发生了变化):
"-Xmx标志的解释依赖于VM.某些VM(包括HotSpot)强制执行此选项有效值的下限."
因此,正如前面的答案所述,MaxMemory是准确的,而Xmx标志只是一个建议.
上面的链接是通过对早期类似问题的回答找到的对SO.
如果要查找用户指定的Xmx值,如果使用Sun(ahem,Oracle)JVM /,则可以大致执行以下操作:
String commandLineInput = System.getProperty("sun.java.command");
Pattern pattern = Pattern.compile("-Xmx(\\w*)");
Matcher matcher = pattern.matcher(commandLineInput);
while(matcher.find()) {
System.out.println(matcher.group(1));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
940 次 |
| 最近记录: |