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

相关推荐
AC赳赳老秦5 小时前
Python 爬虫进阶:DeepSeek 优化反爬策略与动态数据解析逻辑
开发语言·hadoop·spring boot·爬虫·python·postgresql·deepseek
czlczl200209255 小时前
OAuth 2.0 解析:后端开发者视角的原理与流程讲解
java·spring boot·后端
芒克芒克6 小时前
本地部署SpringBoot项目
java·spring boot·spring
奋进的芋圆8 小时前
TokenRetryHelper 详解与 Spring Boot 迁移方案
java·spring boot·后端
Knight_AL9 小时前
MinIO 入门实战:Docker 安装 + Spring Boot 文件上传(公有 / 私有)
spring boot·docker·容器
gAlAxy...9 小时前
5 种 SpringBoot 项目创建方式
java·spring boot·后端
Ahtacca10 小时前
解决服务间通信难题:Spring Boot 中 HttpClient 的标准使用姿势
java·spring boot·后端
悟空码字11 小时前
SpringBoot整合Kafka,实现高可用消息队列集群
java·spring boot·后端
qq_124987075311 小时前
基于springboot的仁和机构的体检预约系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计·计算机毕业设计
meichao911 小时前
springboot3.5.8集成websocket问题
网络·spring boot·websocket·网络协议