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

相关推荐
unique_perfect2 小时前
vue2与springboot实现deepseek打印机聊天
spring boot·websocket·ai·vue2·deepseek
哈哈老师啊3 小时前
Springboot学生综合测评系统hxtne(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
气π6 小时前
【JavaWeb】——(若依 + AI)-基础学习笔记
java·spring boot·笔记·学习·java-ee·mybatis·ruoyi
老华带你飞6 小时前
列车售票|基于springboot 列车售票系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·spring
汝生淮南吾在北7 小时前
SpringBoot+Vue在线考试系统
vue.js·spring boot·后端·毕业设计·毕设
script.boy7 小时前
基于spring boot校园二手交易平台的设计与实现
java·spring boot·后端
猿与禅8 小时前
Spring Boot 4.0 完整核心特性及实践指南
java·spring boot·后端·spring·重大升级·springboot4.0
大大大大物~8 小时前
JVM 之 线上诊断神器Arthas实战【内部原理?常用命令?如何使用Arthas排查cpu飙高、类加载问题、死锁、慢接口等线上问题?】
jvm·oom·arthas
曲莫终8 小时前
SpringBoot使用AutoConfiguration自动配置Bean
spring boot
E***U9459 小时前
从新手到入门:如何判断自己是否真的学会了 Spring Boot
数据库·spring boot·后端