Repolode
alibaba

alibaba/arthas

无需修改代码或重启即可在线诊断运行中 Java 应用的诊断工具。

Star
37,586
Fork
7,643
未关闭 Issue
486
最近提交
前天

这是什么?

Arthas 是阿里巴巴开源的 Java 诊断工具,可以挂载到正在运行的 JVM 上,在不修改代码、不重启服务的情况下排查线上问题。它以观测为主,不会挂起应用线程,业务不受影响。

常用命令覆盖了日常排障的主要场景:查看类是从哪个 jar 加载的,用于定位依赖冲突;反编译已加载的类,确认线上实际运行的代码;查看 classloader 层级和统计信息;观察方法的入参、返回值和抛出的异常;查看线程状态与 CPU 占用;追踪方法调用耗时定位慢调用;统计方法的 QPS、响应时间和成功率;并支持生成 Profiler 火焰图。

Arthas 提供带自动补全的命令行交互界面,也可通过内置的 WebConsole 在浏览器中使用。支持 JDK 8 及以上版本(4.x 版本包括 JDK 17、21、25),可运行于 Linux、Mac 和 Windows。

核心功能

  • 01反编译已加载的类,确认线上实际运行的代码。
  • 02追踪方法调用,定位耗时的子调用。
  • 03观察方法入参、返回值和异常,不挂起线程。
  • 04在运行中的 JVM 上查看线程、CPU 与 GC 统计。
  • 05生成 Profiler 火焰图。
  • 06支持带自动补全的命令行、telnet 及浏览器 WebConsole。

适用场景

  • 在不重启的前提下排查线上 Java 服务问题。
  • 依赖冲突时查明类是从哪个 jar 加载的。
  • 在运行中的应用里定位慢方法或高 CPU 线程。
  • 运行时确认某个类实际执行的是哪个版本的代码。

快速上手

  1. 1

    下载 arthas-boot.jar

    curl -O https://arthas.aliyun.com/arthas-boot.jar
  2. 2

    使用 java 命令启动 Arthas 并连接到正在运行的 JVM

    java -jar arthas-boot.jar

使用前须知

  • 只能诊断运行在 JVM 上的 Java 应用。
  • 4.x 版本需要 JDK 8 或更高版本。

收录于专题

标签

常见问题

arthas 是什么?
无需修改代码或重启即可在线诊断运行中 Java 应用的诊断工具。 Arthas 是阿里巴巴开源的 Java 诊断工具,可以挂载到正在运行的 JVM 上,在不修改代码、不重启服务的情况下排查线上问题。它以观测为主,不会挂起应用线程,业务不受影响。
arthas 可以免费使用吗?用的什么许可证?
arthas 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
arthas 还在维护吗?
活跃维护中。arthas 最近一次提交是在 2026年10月23日。
arthas 适合用来做什么?
在不重启的前提下排查线上 Java 服务问题。 依赖冲突时查明类是从哪个 jar 加载的。 在运行中的应用里定位慢方法或高 CPU 线程。 运行时确认某个类实际执行的是哪个版本的代码。
arthas 怎么安装和运行?
下载 arthas-boot.jar: curl -O https://arthas.aliyun.com/arthas-boot.jar 使用 java 命令启动 Arthas 并连接到正在运行的 JVM: java -jar arthas-boot.jar
在哪里获取 arthas?
源代码和安装说明在 GitHub 上:https://github.com/alibaba/arthas

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目