arthas的用途:
主要用在线上生产环境
1.可以查看程序运行时的load(负载),GC(垃圾回收), 线程运行状态;
2.查看方法的出入参数,反编译字节码查看源码,监测方法执行耗时等。
下载安装
两种下载方式
1. 在线联网下载
curl -O https://arthas.aliyun.com/arthas-boot.jar
参数 -O 是指使用远程文件名保存
然后以java -jar的方式启动
java -jar arthas-boot.jar
如果下载速度比较慢,可以使用 aliyun 的镜像
java -jar arthas-boot.jar --repo-mirror aliyun --use-http
2. 离线下载上传
在一台联网的主机下载
下载地址
https://arthas.aliyun.com/download/latest_version?mirror=aliyun
上传压缩包到服务器上并解压缩 arthas 的压缩包
unzip arthas-packaging-bin.zip
安装 Arthas
安装之前最好把所有老版本的 Arthas 全都删掉
sudo su admin
rm -rf /home/admin/.arthas/lib/*
cd arthas
./install-local.sh
注意,这里根据你需要诊断的 Java 进程的所属用户进行切换
启动 Arthas
启动之前,请确保老版本的 Arthas 已经stop.
查看是否还有关于arthas进程在运行
ps -ef | grep arthas
有则杀死进程
kill -9 <PID>
启动arthas
./as.sh
3. 启动对应的程序
这里以math-game.jar为例
math-game是一个简单的程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果
nohup java -jar math-game.jar > nohup.log 2>&1 &
nohup:使得终端关闭,运行的命令也不中断。
java -jar math-game.jar:用于启动jar包。
nohup.log:标准输出重定向到nohup.log文件。
2>&1:标准错误重定向到标准输出(即nohup.log文件)。
&:命令放入后台执行。
4. 启动arthas
java -jar arthas-boot.jar
选择对应的程序编号

常用的命令
1.查看 dashboard

2. 通过 thread 命令来获取到math-game进程的 Main Class


3. 通过 jad 来反编译 Main Class

4. watch查看对应的返回值

5. 退出 arthas
退出当前的连接:quit或exit
完全退出:stop
更多教程可参照官方文档:官方文档
3615

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



