1,我想知道在JIT期间在热点上编译一个类或方法花了多少时间(我们遇到了一些超时问题,我们怀疑它可能是由于编译时间过长造成的)?这次有跟踪标志或其他方法吗?
2,BTW,如果方法是第一次运行,那么编译时间将为0,因为完全没有编译过程,对吧?
答案 0 :(得分:2)
JVM标志:-XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompilation2
289 425 4 java.time.LocalDate::until (116 bytes)
292 360 3 java.time.ZoneId::of (85 bytes) made not entrant
293 426 4 java.time.LocalDate::from (68 bytes)
293 386 3 java.time.LocalDate::from (68 bytes) made not entrant
293 426 size: 248(96) time: 0 inlined: 54 bytes
297 425 size: 3688(2272) time: 8 inlined: 1092 bytes
^ ^ ^ ^ ^
| | | | |
| | compiled bytes | bytecodes inlined
| compilation ID method compilation time (ms)
timestamp (ms from JVM start)
请注意
PrintCompilation
输出可能会显示为交错。答案 1 :(得分:0)
jitwatch可以记录和显示jit编译日志。