async-profiler

async-profiler Java 性能剖析

补充说明

async-profiler 是低开销的 Java 采样 profiler,支持 CPU、分配、锁、缓存未命中和 wall-clock 模式,能生成火焰图、JFR 和 collapsed 栈。它通过 JVMTI 和 perf_events 工作。

适合排查 Java 服务 CPU 高、GC 频繁、锁竞争和内存分配热点。

常用示例

查看进程:

jps -l

CPU 采样 30 秒:

asprof -d 30 -e cpu -f profile.html <PID>

分配采样:

asprof -d 30 -e alloc -f alloc.html <PID>

锁竞争:

asprof -d 30 -e lock -f lock.html <PID>

输出 collapsed 栈:

asprof -d 30 -e cpu -o collapsed -f cpu.collapsed <PID>

生成 JFR:

asprof -d 30 -e cpu -o jfr -f profile.jfr <PID>

容器内 attach:

asprof -d 30 -e cpu -f /tmp/profile.html 1

易错点与排错