使用FlameGraph分析JAVA应用性能

安装及使用

安装前提软件

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…

猜你喜欢

转载自juejin.im/post/5d207690e51d45775746b9a4