Arthas开源项目

时间:2024-12-15 20:35:26

本文主要围绕着Arthas是什么、能做什么、安装和使用等三个方面内容来讲解,希望对初学者和对此有兴趣的朋友有帮助。

一、 Arthas是什么

文档地址: https://alibaba.github.io/arthas/index.html

 

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。

二、 Arthas能做什么

比如可以解决下面的问题,当然了,远远不止下面的这些问题。

1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

4.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

5.是否有一个全局视角来查看系统的运行状况?

6.有什么办法可以监控到JVM的实时运行状态?

三、 Arthas安装和简单使用

两种入门方式,简单demo和boot。

(1)简单Demo

下载

wget https://alibaba.github.io/arthas/arthas-demo.jar

使用

java -jar arthas-demo.jar

Arthas开源项目

arthas-demo是一个简单的程序,每隔一秒生成一个随机数,再执行质因式分解,并打印出分解结果。

(2)boot

下载

wget https://alibaba.github.io/arthas/arthas-boot.jar

使用

java -jar arthas-boot.jar

Arthas开源项目

  • 执行该程序的用户需要和目标进程具有相同的权限。比如以admin用户来执行:sudo su admin && java -jar arthas-boot.jar 或 sudo -u admin -EH java -jar arthas-boot.jar。
  • 如果attatch不上目标进程,可以查看~/logs/arthas/ 目录下的日志。
  • 如果下载速度比较慢,可以使用aliyun的镜像:java -jar arthas-boot.jar --repo-mirror aliyun --use-http
  • java -jar arthas-boot.jar -h 打印更多参数信息。