arthas

本文档介绍了如何使用Arthas工具进行Java应用的诊断,包括从Gitee下载Arthas,通过命令行运行,挂载到目标进程,使用`help`、`jvm`、`thread`等命令查看JVM信息和线程状态,利用`dashboard`监控系统,以及使用`heapdump`和`jhat`进行堆内存分析。此外,还提到了`show instance counts for all classes`的查询方法,并探讨了使用MAT、jhat和jvisualvm进行dump文件分析,以及针对动态代理类问题的定位和热替换(redefine)的限制条件。

1、中文文档

由于网络的原因选择gitee地址

https://gitee.com/otter-one/arthas/blob/master/README_CN.md

2、下载地址

curl -O https://alibaba.github.io/arthas/arthas-boot.jar

3、运行

java -jar arthas-boot.ja

4、挂在对应进程

查看所有命令

help

查看jvm信息

jvm

查看所有线程

thread

查看某个线程状况

 thread 54

dashboard 观察系统情况

heapdump + jhat分析

导入到对应文件

 heapdump /home/20210404.hprof

分析文件

jhat 20210404.hprof

访问自己的地址

http://115.159.149.170:7000/

Show instance counts for all classes (including platform)

语法

select s from java.lang.String s

使用MAT / jhat /jvisualvm 进行dump文件分析

使用本地jvisualvm分析:

1、进入jdk所在目录打开可视化

2、文件->装入 到处的文件

jad反编译

动态代理生成类的问题定位

第三方的类(观察代码)

版本问题(确定自己最新提交的版本是不是被使用)

redefine 热替换

目前有些限制条件:只能改方法实现(方法已经运行完成),不能改方法名, 不能改属性

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心系代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值