采集某些时刻CPU、CYCLES、LOCK、CACHE_MISSES、ALLOC事件的栈信息,统计当前JVM中的热点方法,以火焰图与反向火焰图的形式查询和呈现。
不支持在容器宿主机采集容器内进程,若需采集容器内进程信息,请在容器中使用命令行工具。
1
|
devkit java-perf hotspot [-p {pid}] [-d <DURATION> ] [-e {CPU,ALLOC,CYCLES,CACHE_MISSES,LOCK}] [-i <INTERVAL> | --interval=INTERVAL] |
参数 |
参数选项 |
说明 |
---|---|---|
-h/--help |
- |
获取帮助信息。 |
-d/--duration |
- |
设置采集时长,单位为秒,默认为20秒,取值范围1至300秒,可Ctrl+C停止任务采集并开始分析。 |
-i/--interval |
- |
设置采样间隔,单位为毫秒,默认为10毫秒,取值范围1至1000毫秒。 |
-o/--output |
- |
设置报告输出目录,默认为工具安装目录下的data目录。 |
-p/--pid |
- |
指定采集热点方法的Java进程PID。 |
-e/--event |
CPU/ALLOC/CYCLES/CACHE_MISSES/LOCK |
指定采样事件类型,默认为CPU。
|
1
|
devkit java-perf hotspot -p 17329 -e CPU -d 60 -i 10 -o /opt |
参数-p指定采集的进程号,参数-e CPU指定采集CPU事件类型的数据,参数-d 60采集时长为60秒,参数-i 10采样间隔为10毫秒,参数-o /opt指定报告输出目录为/opt。
返回信息如下:
1 2 |
JAVA HOTSPOT ANALYSIS(Press Ctrl+C to exit and generate the summary report) The flame graph is generated in /opt/FlameGraph_CPU(31819)_20240612_104433.html. |
任务生成火焰图html文件可使用浏览器查看,支持检索能力和反向火焰图。