阿里巴巴Arthas详解
Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,可以方便的定位和诊断线上程序运行问题。Arthas 官方文档十分详细,详见:https://alibaba.github.io/arthas Arthas使用场景 得益于 Arthas 强大且丰富的功能,让 Arthas 能做的事情超乎想象。下面仅仅列举几项常见的使用情况,更多的使用场景可以在熟悉了 Arthas 之后自行探索。
1)是否有一个全局视角来查看系统的运行状况?
2)为什么 CPU 又升高了,到底是哪里占用了 CPU ?
3)运行的多线程有死锁吗?有阻塞吗?
4)程序运行耗时很长,是哪里耗时比较长呢?如何监测呢?
5)这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
6)我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
7)遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
8)有什么办法可以监控到 JVM 的实时运行状态?