Arthas(阿尔萨斯)线上诊断使用笔记

1.Arthas是什么?

Arthas 是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪 Java 代码;实时监控 JVM 状态

Arthas官网地址:https://arthas.aliyun.com/en/

Arthas官网文档地址:
 

#执行该程序的用户需要和目标进程具有相同的权限,
#例如当前java程序使用的用户名是test,需要切换用户
su - test 

2.启停 arthas

#启动 arthas,选择 java 进程,输入对应的序号,比如 1,然后按Enter,就可以了。
java -jar arthas-boot.jar
#退出 arthas
exit
#如果只是退出当前的连接,可以用quit或者exit命令。
#Attach 到目标进程上的 arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。
stop
#关闭 Arthas 服务端,所有 Arthas 客户端全部退出。

#停止已存在的Arthas实例:
java -jar arthas-client.jar 127.0.0.1 3658 -c "stop"

3.dashboard命令

#查看 dashboard,按回车/enter,会展示当前进程的
Arthas 是一个开源的Java诊断工具,可以帮助开发者在生产环境中诊断和排查问题。通过Arthas,你可以动态地执行线上Spring Boot应用中的方法,而不需要重启应用。以下是如何使用Arthas执行线上Spring Boot方法的步骤: 1. **安装Arthas**: 首先,确保你已经下载并安装了Arthas。可以通过以下命令下载: ```sh wget https://alibaba.github.io/arthas/arthas-boot.jar ``` 2. **启动Arthas**: 使用`java -jar`命令启动Arthas: ```sh java -jar arthas-boot.jar ``` 启动后,Arthas会列出当前运行的Java进程,选择你要诊断的Spring Boot应用的进程ID。 3. **使用`jad`命令反编译类**: 首先,使用`jad`命令反编译你想要执行的类和方法: ```sh jad com.example.demo.MyService ``` 这会显示类的源代码,方便你确认方法签名。 4. **使用`ognl`命令执行方法**: 使用`ognl`命令执行你想要调用的方法。例如,假设你要调用`com.example.demo.MyService`类中的`myMethod`方法: ```sh ognl 'com.example.demo.MyService@myMethod()' ``` 如果方法需要参数,可以这样调用: ```sh ognl 'com.example.demo.MyService@myMethod("参数1", 123)' ``` 5. **查看结果**: 执行命令后,Arthas会返回方法的执行结果。你可以在控制台中查看输出。 通过以上步骤,你可以在不重启应用的情况下,动态地执行线上Spring Boot应用中的方法。这对于排查问题和进行临时性调试非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彼岸花@开

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

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

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

打赏作者

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

抵扣说明:

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

余额充值