如何从Java应用程序中确定JVM最小堆大小?

pam*_*let 5 java heap jvm runtime

我已经回顾了如何从Java程序中获取JVM的最小和最大堆大小设置的答案,这是有帮助的,但是接受的答案似乎没有回答问题的一半.本质上,我想报告在启动JVM时使用的-Xms和-Xmx设置.

Mik*_* K. 6

这些是您正在寻找的值之间的映射:

-Xmx=Runtime.getRuntime().maxMemory()
-Xms=Runtime.getRuntime().totalMemory()
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 总内存与启动时的`-ms`相同,但在开始运行后可能会更高. (5认同)

ale*_*ter 3

如果你想获得真正的 JVM 参数,这应该对你有帮助。您可以使用 MXBean 获取所有 JVM 参数:

RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();
Run Code Online (Sandbox Code Playgroud)

您必须查找以“-Xm(s|x)”开头的参数。问题是该值可能类似于“256M”。