Arthas:阿里巴巴开源的 Java 诊断工具

Arthas 是一款由阿里巴巴开源的 Java 诊断工具,可以实时查看应用的状态信息,并能高效排查线上问题。
直达下载
回到上一页
clickgpt_line.png_noView
介绍

大家平时在开发和运维 Java 应用时,是不是经常遇到线上问题难以排查的情况?这个时候,阿里巴巴开源的 Arthas 就派上用场了。这款工具可以让你实时监控和诊断应用的运行状态,不需要修改代码,也不需要重启 JVM,就能解决很多让人头疼的问题。

github_practical_arthas_1

背景

平时在本地开发环境里,我们很难模拟生产环境的复杂情况。而一旦生产环境出问题,又不能直接在上面调试,因为这会影响服务的正常运行。而且,有些问题即使在测试环境中复现,也无法完全模拟生产环境的行为,可能在 JVM 重启后问题就消失了。

github_practical_arthas_2

在这种情况下,很多开发人员会选择在代码中添加日志来排查问题,但是这样做效率低下,而且问题可能依然无法复现。Arthas 就是为了解决这些问题而生的。它可以让开发人员在线上环境中实时排查问题,而不需要重启 JVM 或修改代码,并且不会影响正在运行的线程。

Arthas(阿尔萨斯)能为你做什么?

Arthas 是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。

github_practical_arthas_3

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

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

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

最后嘛,Arthas 作为一个功能强大的 Java 诊断工具,确实能帮我们解决很多开发和运维中的难题。它不仅能够提高问题排查的效率,还能减少对生产环境的影响。在我看来,如果你经常需要处理线上问题,Arthas 绝对是你不能错过的好帮手。

编程学习
编程学习 免费领取编程学习资料 进编程学习交流群
订阅号
视频号
公众号 关注公众号,回复关键字java领取大厂最新面试题
×
编程学习
免费领取编程学习资料 进编程学习交流群