是否有任何命令或类似的东西可以知道运行java程序时使用的JIT名称?
(此答案适用于 OpenJDK Hotspot)
您应该能够使用
-XX:+LogCompilation
获取包含以下行的日志文件(hotspot_pid< PID>.log,在启动目录中):
编译器='C1'
级别='3'...
注意:LogCompilation
是诊断 VM 选项。因此,您需要在其前面添加以下内容来启用它
-XX:+UnlockDiagnosticVMOptions
。用于运行类文件的脚本行如下所示:
java -XX:+UnlockDiagnosticVMOptions -XX:LogCompilation MyClass
使用 JITWatch 了解 Java JIT 编译,第 1 部分,了解更多详细信息。
请注意,在一次执行期间可能有多个不同的 JIT 正在运行。