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,后续在面对线上排查、性能优化等需求时,能借助这款工具更高效地定位问题、提升效率。感谢读到这里,技术之路漫长,同行者常伴,期待与你下次交流~~~

相关推荐
陈果然DeepVersion9 小时前
Java大厂面试真题:Spring Boot微服务+Kafka消息队列+AIGC场景实战问答全解析
spring boot·redis·微服务·kafka·消息队列·aigc·java面试
程序猿ZhangSir9 小时前
Spring Boot 项目实现邮件推送功能 (以QQ邮箱为例)
java·数据库·spring boot
JosieBook9 小时前
【SpringBoot】30 核心功能 - 单元测试 - JUnit5 单元测试简介与常用注解实战详解
spring boot·后端·单元测试
韩立学长10 小时前
【开题答辩实录分享】以《植物病虫害在线答疑小程序的设计与实现》为例进行答辩实录分享
spring boot·小程序·vue
玛卡巴卡0110 小时前
Maven 从入门到实战:搞定依赖管理与 Spring Boot 项目构建
java·spring boot·maven
جيون داد ناالام ميづ11 小时前
Spring Boot 核心原理(一):基础认知篇
java·spring boot·后端
夏之小星星12 小时前
Springboot结合Vue实现分页功能
vue.js·spring boot·后端
韩立学长12 小时前
【开题答辩实录分享】以《自动售货机刷脸支付系统的设计与实现》为例进行答辩实录分享
vue.js·spring boot·后端
ljh_learn_from_base14 小时前
【spring boot 使用apache poi 生成和处理word 文档】
java·spring boot·word·apache