关于java:java并发一些系统分析工具

内存剖析

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,每一条点击进去都能够看到本人的子调用栈

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据