【🪲问题排查,接口调优🚀神器Arthas简介和一键急速启动

2023年 9月 21日 40.7k 0

Arthas简介

Arthas(阿尔萨斯)是阿里开源的一款Java应用程序诊断工具,采用Java进行编写,它可以帮助我们在程序运行期间调试或者监控等其他的增强功能。

例如查找线上线程飙升,CPU飙升,内存负载高,反编译文件,等问题。

官方文档:传送门 Github地址:传送门

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

    运行环境:支持Windows和Linux和Mac,采用命令交互的方式进行操作,同时提供强大的Tab键提示功能!

    ​ 注:Tab键可以提示:命令补全、命令参数补全、类路径补全、类方法补全...

    Arthas安装

    Artahs安装方式及其的简单,官方推荐使用arthas-boot.jar方式启动。

    注:运行Arthas的机器必须正确的安装JDK,否则无法运行!

    一键运行Arthas

    curl -O https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar
    

    一、在线安装

    以下命令通用 Windows、Mac、Linux

    1. 下载 arthas-boot.jar

    curl -O https://arthas.aliyun.com/arthas-boot.jar
    

    2. 下载完成后直接运行

    java -jar arthas-boot.jar	
    

    二、离线安装

    最新版本,点击下载:【🪲问题排查,接口调优🚀神器】Arthas简介和一键急速启动-1

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

    java -jar arthas-boot.jar
    

    打印帮助信息:

    java -jar arthas-boot.jar -h
    

    Arthas简单使用

    一、准备调试的应用

    • 准备一个可以执行的Java包,或者IDEA创建一个Java应用
      • 应用需要是阻塞式的,可以一直运行的,否则运行时间过短的话,Arthas将无法附着到此应用
      • SpringBootWeb项目即可,或者写一个死循环一直执行也可以
    • 运行此应用

    二、Attach Arthas

  • Arthas安装完毕后,使用命令直接启动即可
  • java -jar arthas-boot.jar
    
  • 启动成功后控制台将显示本地所有的Java进程
  • yufire@YufiredeMacBook-Pro Desktop % java -jar arthas-boot.jar
    [INFO] arthas-boot version: 3.6.1
    [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
    * [1]: 70993 org.jetbrains.jps.cmdline.Launcher
      [2]: 2754 
      [3]: 70994 cn.yufire.arthas.arthasdemo.ArthasDemoApplication
      [4]: 63992 org.jetbrains.idea.maven.server.RemoteMavenServer36
      [5]: 11101 
    
  • 选中你想附着的Java进程即可,在命令行中输入进行所对应的数字即可
  • arthas-boot.jar只是启动的包,如果Arthas未安装的话,在第一次启动的时候会自动进行全量安装

    控制台会输出以下内容

    [INFO] Start download arthas from remote server: https://arthas.aliyun.com/download/3.6.1?mirror=aliyun
    [INFO] File size: 12.89 MB, downloaded size: 1.29 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 1.80 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 2.22 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 3.06 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 4.08 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 5.45 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 7.09 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 9.25 MB, downloading ...
    [INFO] File size: 12.89 MB, downloaded size: 11.85 MB, downloading ...
    [INFO] Download arthas success.
    [INFO] arthas home: /Users/yufire/.arthas/lib/3.6.1/arthas
    

    最后一行arthas home 即代表Arthas的安装主目录

  • 在命令行窗口输入对应的数字后,需要等待一会,Arthas即可成功附着到此进程中去
  • [INFO] arthas home: /Users/yufire/.arthas/lib/3.6.1/arthas
    [INFO] Try to attach process 70994
    [INFO] Attach process 70994 success.
    [INFO] arthas-client connect 127.0.0.1 3658
      ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.                           
     /  O   |  .--. ''--.  .--'|  '--'  | /  O   '   .-'                          
    |  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |`.  `-.                          
    |  | |  ||  |      |  |   |  |  |  ||  | |  |.-'    |                         
    `--' `--'`--' '--'   `--'   `--'  `--'`--' `--'`-----'                          
    
    wiki       https://arthas.aliyun.com/doc                                        
    tutorials  https://arthas.aliyun.com/doc/arthas-tutorials.html                  
    version    3.6.1                                                                
    main_class cn.yufire.arthas.arthasdemo.ArthasDemoApplication                    
    pid        70994                                                                
    time       2022-05-27 12:12:43                                                  
    
    [arthas@70994]$ 
    
  • 出现 [arthas@PID] 即为附着成功,可以进行命令操作了

  • 如果30分钟无输入的话Arthas会自动退出哦

  • [arthas@70994]$ session (4351adf7-f0d8-41c4-a65e-b316aff3270c) is closed because session is inactive for 30 min(s).
    
  • 在线调试Arthas地址:传送门
    点击屏幕右下角的橙色按钮:Start Scenario 即可开始调试!

    用户案例地址

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论