1、中文文档
由于网络的原因选择gitee地址
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
![]()

访问自己的地址


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 热替换
目前有些限制条件:只能改方法实现(方法已经运行完成),不能改方法名, 不能改属性

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

被折叠的 条评论
为什么被折叠?



