Arthas工具快速使用

目录

什么是Arthas

[Arthas 使用](#Arthas 使用)

下载与启动

常用命令

项目中基础使用

扩展与总结


什么是Arthas

Arthas 是阿里巴巴开源的一款 Java 应用诊断工具,核心价值是 "无需重启应用、无需修改代码",就能实时穿透 Java 应用的运行黑盒,解决开发和运维中的各类难题。

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。了解更多请前往Arthas详情

Arthas 使用

下载与启动

  • 启动命令java -jar arthas-boot.jar

  • Java 进程列表与选择

md-end-block 复制代码
<span style="background-color:#f8f8f8"><span style="color:#333333">PS D:\Users\liuliff\Downloads\useArthas> java -jar arthas-boot.jar
[INFO] arthas-boot version: 3.6.6
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 240
  [2]: 20904 org.jetbrains.jps.cmdline.Launcher
  [3]: 27400 com.XXX.XXXDemoApplication</span></span>
  • 选择 3 Arthas 启动成功

常用命令

以下仅展示部分命令,更多请前往 Arthas命令列表大全

  • Arthas 之 dashboard (当前系统实时数据面板,ctrl+c 退出)了解更多到 工具文档
  • Arthas 之 jvm 命令 (主要是查看当前 jvm 信息)了解更多查看 工具文档
  • Arthas 之 trace 命令 (方法内部调用路径,并输出方法路径上的每个节点上耗时)了解更多查看 工具文档

项目中基础使用

以下只是项目中的一个接口的示例演示,更多场景需不同使用。

  1. 复制 Trace 命令,同时也可以从此接口中复制其他命令
  1. 粘贴到控制台,等待输出。
命令部分 解释
trace Arthas的核心命令之一,用于方法内部调用路径的追踪,并输出每个环节的耗时。
org.springframework.web.bind.annotation.GetMapping 你要追踪的"目标" 。这里指定了Spring框架中的 @GetMapping 注解,意思是监控所有使用了这个注解的方法。
* 通配符 。它与前面的注解名组合,表示匹配所有 使用了 @GetMapping 注解的方法。
-n 5 执行次数限制 。命令在执行5次后会自动终止。这可以防止你忘记停止而持续输出信息。
--skipJDKMethod false JDK方法追踪开关 。设为 false 表示不跳过JDK内部的方法调用 (例如 java.util.* 等标准库中的方法),你会看到更详尽、更深层的调用栈。
  1. 方法调用及控制台输出

扩展与总结

总之,我们已经围绕 Arthas 的核心使用场景,从"是什么"到"怎么用"完成了基础梳理------无论是通过 java -jar arthas-boot.jar 快速启动并附着到目标 Java 进程,还是用 dashboard 实时查看系统负载与线程状态、jvm 命令挖掘虚拟机底层信息,亦或是通过 trace 追踪接口方法的调用链路与耗时,Arthas 最核心的价值始终是"无需重启应用、无需修改代码",就能穿透 Java 应用的运行黑盒。

对于日常开发与运维来说,这些基础命令已能覆盖大部分高频场景:排查接口响应慢时,trace 能帮你定位到耗时的方法节点;监控应用健康状态时,dashboard 可实时展示内存、GC、CPU 占用;需了解 JVM 配置与运行信息时,jvm 命令则提供了完整的视角。不过使用时也有小细节需要留意,比如用 trace 时记得通过 -n 参数控制执行次数(如文中的 -n 5),避免无限制输出占用资源;若无需追踪 JDK 原生方法,也可将 --skipJDKMethod 设为 true 简化输出结果。

当然,Arthas 的能力远不止于此------文中未展开的 monitor(方法执行监控)、tt(方法执行数据记录)、vmtool(获取实例与修改字段)等命令,同样是排查线上问题的利器。如果想深入探索更多功能,建议结合 Arthas 官方文档 ) 与实操练习,毕竟工具的价值终需在解决实际问题中体现。

希望本文的基础指南能帮你快速上手 Arthas,后续在面对线上排查、性能优化等需求时,能借助这款工具更高效地定位问题、提升效率。感谢读到这里,技术之路漫长,同行者常伴,期待与你下次交流~~~

相关推荐
JH30735 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
qq_12498707538 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_8 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
2301_818732068 小时前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea
汤姆yu12 小时前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
暮色妖娆丶12 小时前
Spring 源码分析 单例 Bean 的创建过程
spring boot·后端·spring
biyezuopinvip13 小时前
基于Spring Boot的企业网盘的设计与实现(任务书)
java·spring boot·后端·vue·ssm·任务书·企业网盘的设计与实现
JavaGuide13 小时前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
吃虫子的人14 小时前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
figo10tf14 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端