JVM虚拟机系列 - 常用JVM命令和工具(网上汇总集锦)

通过案例切入

1.CPU百分比怎么定位?

可以使用arthas去定位。

通过在dashboard界面,就可以看出那个线程占用cpu的比比较高,所以这里线程的名字一定要有意义。

假如说是gc线程,那么可能是gc出了问题,要去观察gc日志,看是不是full gc。

如果是业务线程,可以通过thread命令,thread指定线程ID,查看线程堆栈,根据堆栈信息,再进一步定位代码。

2.频繁FGC怎么定位?

可以通过jmap命令定位,命令列表:https://www.cnblogs.com/kongzhongqijing/articles/3621163.html

可以通过jmap定位到有哪些大对象以及有哪些对象的数量。

另外一个是使用MAT工具分析,需要生成dump文件,但是生成dump文件的过程非常耗时,应用会无响应,建议线上应用切掉流量后保留现场再执行。

命令以及工具

  1. https://juejin.im/post/59e6c1f26fb9a0451c397a8c 这里罗列了比较全的工具和命令

  2. https://console.perfma.com/  perfma,寒泉子开发的产品

  3. https://www.cnblogs.com/hama1993/p/10580581.html  cpu火焰图生成工具,可以快速定位到性能损耗点

  4. 开启jdk,NMT打开 --XX:NativeMemoryTracking=detail,但是这个有性能损耗。

大厂案例

https://tech.meituan.com/2017/12/29/jvm-optimize.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值