安装及使用
安装前提软件
centos
yum install perf -y
yum install gcc -y
yum install gcc-c++
yum install cmake -y
复制代码
ubuntu
apt install linux-tools-generic
apt install linux-tools-common
复制代码
FlameGraph
# 参考 http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html#Java
export JAVA_HOME=/root/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
git clone --depth=1 https://github.com/jrudolph/perf-map-agent
cd perf-map-agent
cmake .
make
bin/create-links-in /usr/bin
git clone https://github.com/brendangregg/FlameGraph.git
export FLAMEGRAPH_DIR=/root/git/FlameGraph
# jvm启动参数需要增加
-XX:+PreserveFramePointer
perf-java-flames 21322
复制代码
结果展示
svg格式的图片可以下钻,点击查看: user-gold-cdn.xitu.io/2019/7/6/16…
更多参考
www.meiwen.com.cn/subject/xaf… bugs.openjdk.java.net/browse/JDK-… bugs.openjdk.java.net/browse/JDK-… mail.openjdk.java.net/pipermail/h… medium.com/netflix-tec… blog.codecentric.de/en/2017/09/… github.com/jvm-profili… gperftools.github.io/gperftools/… github.com/jvm-profili… www.brendangregg.com/FlameGraphs… www.brendangregg.com/blog/2014-0… github.com/brendangreg…