arthas常用命令,排查cpu和内存场景

常用命令

命令:dashboard

查看jvm总体信息,包括线程,内存和运行环境

命令:monitor 

  • monitor -c 5 com.liubike.ta.controller.service.ApiService newString "param[1]=2"
  • 每5秒统计一次监控方法被调用的次数

命令:heapdump

  • heapdump --live /tmp/dump.hprof
  • dump存活的堆栈信息
  • 注意cup开销

命令:memory

  • jvm内存分布

命令:profiler

  • 生成数据火焰图
  • profiler start  --event alloc 开启采集
  • profiler getSamples  采集数量
  • profiler stop --format html 停止采集,生成报告

命令:stack

  • stack com.lizz.ta.controller.service.ApiService runNum -n 3 
  • 查看3次ApiService类中runNum方法的调用路径

命令:trace

  • trace com.lizz.ta.controller.service.ApiService runNum -n 3 
  • 查看3次ApiService类中runNum方法的内部调用路径和处理时间

命令:tt

  • tt -t com.lizz.ta.controller.service.ApiService runNum -n 3 
  • 记录方法调用状态,是否正常返回,是否异常,时间等。

命令:watch

  • watch com.lizz.ta.controller.service.ApiService runNum -n 2 -x 3 -s -b
  • 查看方法调用前和调用后的数据。

案例1:CPU过高

thread 查看线程CPU占比,查看其中cpu使用占比过高的数据

thread pid查看线程堆栈

排查相关代码

案例2:内存过高

  1. thread 查看线程耗时
  2. thread pid查看线程堆栈
  3. monitor查看方法被调用次数
  4. watch查看线程内部数据情况

使用火焰图查看内存分配情况

  1. profiler start --event alloc  采集内存分配情况
  2. profiler getSamples 已采集的数量
  3. profiler stop --format html 关闭采集,并生成html文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lizz666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值