共计 625 个字符,预计需要花费 2 分钟才能阅读完成。
内存剖析
java 内存剖析个别采纳 Java jmap dump 下零碎内存文件,应用 jmat 进行剖析。
线程剖析
线程栈个别通过 jstack 失去。
cpu 剖析
火焰图
arthas
火焰图做为 cpu 调试的神器,最早是 openresty 中被大神春哥开始利用,之后缓缓遍及到各个语种当中,Java 目前用的还不是很多。所以这里码字遍及一下火焰图的装置和一些用法
装置步骤
首先须要下载火焰图工具
下载安装 FlameGraph
下载地址:https://github.com/cobblau/Fl…
这个是火焰图生成工具
装置之后
还须要装置一个工具:perf-map
这里的 perf-map 须要 Java 版本至多 1.7 以上
下载地址:http://www.github.com/jvm-pro…
装置命令
cmake.
make
装置完之后须要设置 jvm 参数
-XX:+PreserveFramePointer jvm 参数
之后就是采集后果阶段:
应用命令之后就是采集后果阶段:
应用命令
perf record -a -g -p 65269 -F 99 — sleep 30
java -cp attach-main.jar:$JAVA_HOME/lib/tools.jar net.virtualvoid.perf.AttachOnce PID
perf script | stackcollapse-perf.pl | flamegraph.pl > process.svg
火焰图生成后果:
条越长越耗 cpu, 每一条点击进去都能够看到本人的子调用栈
正文完