【问题标题】:How can I determine the JVM minimum heap size from within a java application?如何从 Java 应用程序中确定 JVM 最小堆大小?
【发布时间】:2011-11-25 10:39:48
【问题描述】:

我已经查看了对 how to get the min and max heap size settings of a JVM from within a Java program 的回答,这很有帮助,但接受的回答似乎没有回答一半的问题。本质上,我想报告 JVM 启动时使用的 -Xms 和 -Xmx 设置。

【问题讨论】:

    标签: java jvm runtime heap-memory


    【解决方案1】:

    这些是您要查找的值之间的映射:

    -Xmx=Runtime.getRuntime().maxMemory()
    -Xms=Runtime.getRuntime().totalMemory()
    

    希望这会有所帮助。

    【讨论】:

    • 启动时总内存与-ms相同,但启动后可能会更高。
    【解决方案2】:

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

    RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
    List<String> arguments = RuntimemxBean.getInputArguments();

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

    【讨论】:

    • 非常适合我的需求。我们只想在启动时记录 JVM 设置,以便在查看与问题报告相关的日志时提供一些上下文。谢谢!
    猜你喜欢
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2010-09-30
    • 2010-09-15
    • 2011-11-24
    • 2015-02-17
    相关资源
    最近更新 更多