阿里巴巴开源的Java诊断工具Arthas,是真的好用

598 阅读2分钟
阿里巴巴开源的Java诊断工具Arthas,是真的好用

介绍

阿里巴巴开源的Java诊断工具Arthas,是真的好用

阿里巴巴前段时间开源了内部使用的Java诊断工具,好评声不断。最近又强势登上了github trading版,看一下Arthas能帮我们解决哪些问题?

作用

当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  5. 是否有一个全局视角来查看系统的运行状况?
  6. 有什么办法可以监控到JVM的实时运行状态?

Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

排查线上出现的问题超级方便

可以从整体看到系统的状态,哪个线程占用CPU较多

阿里巴巴开源的Java诊断工具Arthas,是真的好用

jad

反编译class类,超级方便

sc

查找JVM中已经加载的类

Trace

查看方法的调用过程,哪些部分比较耗时

阿里巴巴开源的Java诊断工具Arthas,是真的好用

Watch

观察方法 执行的入参,仅当方法抛出异常时才输出。

Monitor

监控某个特殊方法的调用统计数据,包括总调用次数,平均rt,成功率等信息,每隔5秒输出一次。

Time Tunnel(tt)

记录方法调用信息,支持事后查看方法调用的参数,返回值,抛出的异常等信息,仿佛穿越时空隧道回到调用现场一般。

Classloader

了解当前系统中有多少类加载器,以及每个加载器加载的类数量,帮助您判断是否有类加载器泄露。

当然还有很多其他特别有意思的功能,有中文的文档,写的挺详细的,国内很多指明互联网公司都使用了这个工具

阿里巴巴开源的Java诊断工具Arthas,是真的好用