async-profiler可以通过设置选项来支持跟踪JIT优化的方法。在profiler的启动选项中,设置“framebuf”为足够大的值(例如1000000),以确保所有的堆栈帧都可以存储在内存缓冲区中。此外,将“jstackdepth”设置为“-1”,以便在堆栈跟踪中包含JIT编译器优化的方法。
示例代码:
java -agentlib:asyncProfiler=start,event=cpu,file=profile.txt,framebuf=1000000,jstackdepth=-1 MainClass
这将启动名为“MainClass”的Java应用程序的性能分析器,设置事件类型为CPU,将分析结果写入profile.txt文件中,将帧缓冲区大小设置为1000000,将包含JIT优化的方法并跟踪完整的堆栈深度。