arthas

Arthas学习&实战

1. Arthas使用

启动arthas

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

选择你要监控的java程序(启动arthas的用户和需要监控的用户必须是同一个)

image-20230319182618465

安装idea插件arthas idea

可以选中方法复制命令

image-20230319182216722

常用的方法

2.1 dashboard实时监控面板

dashboard:打开实时监控面板( 具体含义见:dashboard | arthas (aliyun.com)

image-20230319182916225

2.2 thread查看线程情况

image-20230319183141616

  • thread -b:查看死锁情况
  • thread -n 1 :查看消耗cpu资源最多的【1个】线程

2.3 jad反编译查看线上代码

通过jad可以反编译正在运行的代码,我们去idea里面粘贴一下全类名

image-20230319183556791

使用命令jad 全类名就可以反编译正在执行的代码了,查看自己的代码是否和线下不一样

image-20230319183719132

2.4 watch观察函数入/出参

通过watch命令可以观察函数的入参、出参、异常信息等

我们在idea里面用插件复制一下命令

image-20230319185608128

执行一下,可以看到能够抓取到方法的参数

image-20230319185835244

2.5 trace耗时统计

通过trace命令我们可以对指定方法及其调用方法进行耗时统计,并且会将耗时最长的方法进行高亮

这里一样我们用插件复制要抓取的方法的命令

image-20230319190234382

2.6 stack查看调用栈

stack命令可以看到方法的调用过程,例如我们写了条件分支,通过stack就可以看到走了哪里

image-20230319235426366

2.7 monitor 查看执行成功次数

在压测的时候可以用来看接口的成功率

image-20230319235629309

2.8 tt时空隧道

tt命令可以重放之前的请求,用来诊断具体的请求情况

image-20230320000429251

可以看到已经记录了前五次方法调用,现在我们就可以去分析之前的调用,命令后面接index

image-20230320000647544

如果我们想要回放这次请求只需要tt -i 1000 p,就能调用指定方法再按照之前的参数再执行一次

2.9 profiler热力图

image-20230320001320764

YeZQ-1696605375663)]

可以看到已经记录了前五次方法调用,现在我们就可以去分析之前的调用,命令后面接index

[外链图片转存中…(img-iTNgtXOA-1696605375663)]

如果我们想要回放这次请求只需要tt -i 1000 p,就能调用指定方法再按照之前的参数再执行一次

2.9 profiler热力图

[外链图片转存中…(img-AGMOfowv-1696605375663)]

image-20230320001420859

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值