在Linux上生成java程序的火焰图

首先安装perf-map-agent,这个比较麻烦,执行如下:
mkdir /usr/lib/jvm
cd /usr/lib/jvm
yum install git
git clone –depth=1 https://github.com/jvm-profiling-tools/perf-map-agent
cd perf-map-agent/
yum install cmake
yum install gcc
yum install gcc-c++
cmake .
make
接着,到https://github.com/brendangregg/FlameGraph.git下载目录并解压;
然后,进入Flamegraph目录,执行如下操作:
perf record -F 49 -p 2971 -g – sleep 20 以49赫兹的频率捕获pid为2971的进程信息20秒
./jmaps 获取进程符号信息
perf script > out.stacks01
cat out.stacks01 | ./stackcollapse-perf.pl | grep -v cpu_idle | ./flamegraph.pl –color=java –hash > out.stacks01.svg

最终,得到了文件out.stacks01.svg,可以在浏览器上打开,其中绿色的部分表示java。
注意,jdk版本需要高于JDK8u60。

你可能感兴趣的:(java)