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

相关推荐
k***38818 小时前
SpringBoot Test详解
spring boot·后端·log4j
z***897119 小时前
SpringBoot Maven 项目 pom 中的 plugin 插件用法整理
spring boot·后端·maven
j***63081 天前
Springboot项目中线程池使用整理
java·spring boot·后端
q***54751 天前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
w***15311 天前
Spring boot启动原理及相关组件
数据库·spring boot·后端
a***56061 天前
Spring Boot接收参数的19种方式
java·spring boot·后端
z***75151 天前
SpringBoot集成MQTT客户端
java·spring boot·后端
芒克芒克1 天前
JavaWeb 文件上传全方案解析:从传统组件到现代框架实现
java·spring boot·spring·servlet·maven
n***84071 天前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
v***5651 天前
SpringBoot集成Flink-CDC,实现对数据库数据的监听
数据库·spring boot·flink