Arthas线上监测诊断工具的使用教程

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

更多教程可参照官方文档:官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值