概述

http://arthas.gitee.io/
Arthas可以帮助你解决:

  • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  • 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  • 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到JVM的实时运行状态?
  • 怎么快速定位应用的热点,生成火焰图?

下载

  1. wget https://arthas.aliyun.com/arthas-boot.jar;java -jar arthas-boot.jar

arthas-boot是Arthas的启动程序,它启动后,会列出所有的Java进程,用户可以选择需要诊断的目标进程。

  1. [INFO] arthas-boot version: 3.5.5
  2. [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
  3. * [1]: 1265 arthas-demo.jar
  4. 1
  5. [INFO] Start download arthas from remote server: https://arthas.aliyun.com/download/3.6.0?mirror=aliyun
  6. [INFO] Download arthas success.
  7. [INFO] arthas home: /home/shell/.arthas/lib/3.6.0/arthas
  8. [INFO] Try to attach process 1265
  9. [INFO] Attach process 1265 success.
  10. [INFO] arthas-client connect 127.0.0.1 3658
  11. ,---. ,------. ,--------.,--. ,--. ,---. ,---.
  12. / O \ | .--. ''--. .--'| '--' | / O \ ' .-'
  13. | .-. || '--'.' | | | .--. || .-. |`. `-.
  14. | | | || |\ \ | | | | | || | | |.-' |
  15. `--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
  16. wiki https://arthas.aliyun.com/doc
  17. tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
  18. version 3.6.0
  19. main_class
  20. pid 1265
  21. time 2022-04-10 17:20:03

教程

https://start.aliyun.com/handson-lab?category=arthas

测试demo

  1. wget https://arthas.aliyun.com/arthas-demo.jar;java -jar arthas-demo.jar

基础命令

基础命令

  • help——查看命令帮助信息
  • cat——打印文件内容,和linux里的cat命令类似
  • echo–打印参数,和linux里的echo命令类似
  • grep——匹配查找,和linux里的grep命令类似
  • base64——base64编码转换,和linux里的base64命令类似
  • tee——复制标准输入到标准输出和指定的文件,和linux里的tee命令类似
  • pwd——返回当前的工作目录,和linux命令类似
  • cls——清空当前屏幕区域
  • session——查看当前会话的信息
  • reset——重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类
  • version——输出当前目标 Java 进程所加载的 Arthas 版本号
  • history——打印命令历史
  • quit——退出当前 Arthas 客户端,其他 Arthas 客户端不受影响
  • stop——关闭 Arthas 服务端,所有 Arthas 客户端全部退出
  • keymap——Arthas快捷键列表及自定义快捷键