java arthas使用方式
Arthas是由阿里巴巴拥有的一款Java开发性能诊断工具,基于字节码增强技术,利用了JVM的动态反射能力,可以实时地可以跟踪应用的状态和行为,查看线程状态、变量状态、运行信息等,可以定位问题的来源,推荐使用。
Arthas的安装
首先需要安装Java 1.7及以上版本。安装Arthas,有以下两个方式:
1. 从Arthas GitHub发行版中下载
下载完成后,解压到目标文件夹中即可
2. 使用curl命令安装
curl -L alibaba.github.io/arthas/install.sh | sh
执行以上命令,会将最新Arthas版本下载并安装到/usr/local/bin文件夹中。若不是root用户,要使用sudo命令。
Arthas的启动
1. 使用arthas-boot打包好的jar包
用如下命令启动Arthas:
java -jar arthas-boot.jar
2. 使用arthas-client命令curl是什么命令
windows/linux/macOS均可使用arthas-client命令。首先输入arthas-client命令,在出现“Select target JVM process:”时,输入指定的目标进程ID进行连接即可。如下:
arthas-client
Select target JVM process: 10874
欢迎使用Arthas,可以使用“help”命令查看帮助手册。
Arthas的常用命令
1. help
查看帮助
2. dashboard
实时监控应用状态和信息
3. thread
查看线程状态和行为
4. jad
反编译类文件
5. sc
查看Java类结构
6. watch/jvm-watch
监控方法/类的运行信息
7. trace
跟踪方法的调用信息
8. sm
查看栈信息
9. tt
分析方法时间分布
10. jvm
查看JVM参数
11. jhprof
分析Java堆内存
12. dump
导出JVM内存快照
Arthas的使用案例
比如,我们使用Arthas来查实现Redis缓存更新服务的异常:
1. 查看异常日志,发现是java.lang.NullPointerException引起的。
进入该方法后,可以通过观察参数,发现了问题点行91:
91 byte[] key = safeBinarySafe(key0);
缺失/kv/的原因在此处。
4. sc dis.service.RelevanceCouponServiceImpl
在Arthas控制台上查看dis.service.RelevanceCouponServiceImpl的代码。
接近生产环境的测试机上开启复现。
通过Arthas工具的监控,精确定位了bug并且在一小时内Fixed SDK。
Arthas可以到线上问题的根源,提高了应用的运行时状态监控。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论