【问题标题】:Change JVM JIT Options at runtime在运行时更改 JVM JIT 选项
【发布时间】:2013-06-06 17:23:33
【问题描述】:

是否可以在运行时更改 Java JVM (JIT) 的选项和/或模式?例如。更改 XX:CompileThreshold,甚至在解释代码和编译代码之间切换(-Xcomp vs -Xint)。

我的 JVM 来自 OpenJDK (1.6)、Hotspot 或 Zero/Shark

【问题讨论】:

    标签: jvm java jvm-hotspot


    【解决方案1】:

    您不能在运行时更改 JVM 模式,但是您可以在不重新启动 JVM 的情况下修改一些标志。只需使用 JMX 客户端(如 VisualVM)连接到 JVM 并使用操作 setVMOptioncom.sun.management:type=HotSpotDiagnostic

    例如,如果您想在不重新启动 JVM 的情况下启用详细的 GC 日志记录,请调用方法 setVMOptions("PrintGCDetails", "true")

    来源:http://docs.oracle.com/javase/6/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html#setVMOption%28java.lang.String,%20java.lang.String%29

    希望有帮助!

    【讨论】:

    • 能否在运行时更改 JVM 模式:解释器或 JIT;还是一些 JIT 启发式(例如 -XX:CompileThreshold)?
    【解决方案2】:

    您可以通过MBeans 更改其中一些设置。

    但它们中的大多数都是只读的。

    【讨论】:

    • 您有任何指向 Sun/Oracle 网站的链接吗?
    • 你确定jvm选项不能在运行时改变?
    • 查看stackoverflow.com/questions/1754077/… 表明 com.sun.management.HotSpotDiagnosticMXBean#setVMOption(String, String) 可以帮助您。但总的来说,我不会依赖它。
    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    相关资源
    最近更新 更多