
Arthas 线上诊断神器:从入门到精通本文是《JVM调优实战》专栏第 17 讲。引言前两讲介绍的工具,从 jstack/jmap 的命令行到 VisualVM/JMC 的可视化,都存在一个共同的局限——它们观察的是"结果"而非"过程"。堆 dump 显示的是某个时刻的快照,JFR 记录的是已发生的事件,但这些工具无法让你在方法执行的那一刻,看到"请求发了什么参数"、“返回值是什么”、“这段代码到底有没有在运行”。这就是 Arthas 的价值所在。它诞生于阿里内部大规模微服务的生产排障场景,核心设计理念是"在不重启应用的前提下,让你动态地透视 Java 进程的内部运行状态"。你可以在生产环境反编译一个类确认运行的版本是否正确,可以追踪某个方法的调用链路和耗时,甚至可以临时修改日志级别——这一切都不需要重启,不需要加任何 VM 参数。我在实际使用中感受到的最大震撼是:Arthas 把"想到就做到"的诊断模式变成了现实。本文将从安装到核心命令,带你掌握这个线上诊断神器。Arthas 是什么Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,GitHub 地址:https://github.com/alibaba/arthas。它的核心能力可以总结为五个维度:代码层面:线上反编译、查看类加载信息、热更新 class方法层面:监控方法