Arthas 安装及基本用法
简介
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
•这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
•我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
•遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?
•线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
•是否有一个全局视角来查看系统的运行状况?
•有什么办法可以监控到JVM的实时运行状态?
安装
1.快速安装
aliyun的镜像
gitee镜像
Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可
gitee镜像
2.全量安装
1.下载[1]
2.解压后,在文件夹里有arthas-boot.jar,直接用java -jar的方式启动
3.打印帮助信息
3.手动安装
Linux
1.下载[2]
2.解压缩arthas的压缩包
3.安装Arthas(注意,这里根据你需要诊断的Java进程的所属用户进行切换)
4.启动Arthas
Windows
1.下载[3]
2.解压缩arthas的压缩包
基本用法
1.启用arthas
2.选择应用java进程
3.查看dashboard
4.通过thread命令来获取到arthas-demo进程的Main Class
5.通过jad来反编译Main Class
6.通过watch命令来查看demo.MathGame#primeFactors函数的返回值
7.退出arthas
卸载
Linux
Windows
常用命令
•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
上一篇
欢迎关注我的微信公众号「编程随想曲」
版权声明: 本文为 InfoQ 作者【编程随想曲】的原创文章。
原文链接:【http://xie.infoq.cn/article/883ed8a26b3a43ada37c30a8b】。文章转载请联系作者。
评论