写点什么

Arthas 安装及基本用法

发布于: 2020 年 05 月 01 日

​简介

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



当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:



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

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

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

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

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

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



安装

1.快速安装

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

aliyun的镜像

java -jar arthas-boot.jar --repo-mirror aliyun --use-http

gitee镜像

wget https://arthas.gitee.io/arthas-boot.jar

Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可

curl -L https://alibaba.github.io/arthas/install.sh | sh

gitee镜像

curl -L https://arthas.gitee.io/install.sh | sh

2.全量安装

    1.下载[1]

    2.解压后,在文件夹里有arthas-boot.jar,直接用java -jar的方式启动

java -jar arthas-boot.jar

    3.打印帮助信息

java -jar arthas-boot.jar -h

3.手动安装

Linux

    1.下载[2]

    2.解压缩arthas的压缩包

unzip arthas-packaging-bin.zip

    3.安装Arthas(注意,这里根据你需要诊断的Java进程的所属用户进行切换)

sudo su adminrm -rf /home/admin/.arthas/lib/*cd arthas./install-local.sh

    4.启动Arthas

./as.sh

Windows        

    1.下载[3]

    2.解压缩arthas的压缩包



基本用法

    1.启用arthas

java -jar arthas-boot.jar

    2.选择应用java进程

java -jar arthas-boot.jar* [1]: 35542 [2]: 71560 arthas-demo.jarDemo进程是第2个,则输入2,再输入回车/enter

    3.查看dashboard

dashboard

    4.通过thread命令来获取到arthas-demo进程的Main Class

thread 1

    5.通过jad来反编译Main Class

jad demo.MathGame

     6.通过watch命令来查看demo.MathGame#primeFactors函数的返回值

watch demo.MathGame primeFactors returnObj

7.退出arthas

quit或者exit Attach到目标进程上的arthas还会继续运行,端口会保持开放,下次连接时可以直接连接上。shutdown 完全退出arthas



卸载

Linux

rm -rf ~/.arthas/rm -rf ~/logs/arthas

Windows

直接删除user home下面的.arthas和logs/arthas目录



常用命令

    •sysprop 打印所有的System Properties信息

    •sysprop java.version

    •sysprop | grep user

    •sysprop testKey testValue

    •sysenv 命令可以获取到环境变量。和sysprop命令类似。

    •jvm 命令会打印出JVM的各种详细信息。

    •dashboard 命令可以查看当前系统的实时数据面板。输入 Q 或者 Ctrl+C 可以退出dashboard命令。

    •thread 查看所有线程信息

    •thread 16 查看线程ID 16的栈:

    •thread -n 3 查看CPU使用率top n线程的栈

    •thread -n 3 -i 5000 查看5秒内的CPU使用率top n线程栈

    •thread -b 查找线程是否有阻塞

    •java -jar arthas-boot.jar --target-ip 默认情况下,arthas yourip server侦听的是 127.0.0.1 这个IP,如果希望远程可以访问,可以使用--target-ip的参数。


References

[1] 下载: http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=bin&v=LATEST

[2] 下载: https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.x.x/arthas-packaging-3.x.x-bin.zip

[3] 下载: https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.x.x/arthas-packaging-3.x.x-bin.zip

[4] arthas: https://alibaba.github.io/arthas/index.html

[5] 手动安装arthas: https://alibaba.github.io/arthas/manual-install.html

[6] watch用法: https://alibaba.github.io/arthas/watch.html

[7] arthas-tutorials基础教程: https://alibaba.github.io/arthas/arthas-tutorials?language=cn

[8] arthas-tutorials-advanced进阶教程: https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-advanced



上一篇

MongoDB 入门笔记



欢迎关注我的微信公众号「编程随想曲」



发布于: 2020 年 05 月 01 日阅读数: 170
用户头像

学如逆水行舟,不进则退。 2018.03.11 加入

微信公众号「编程随想曲」作者。

评论

发布
暂无评论
Arthas安装及基本用法