为什么要用Arthas?

虽然有了MAT和Jprofiler这些好用的图形界面工具,
公司项目最终是部署在服务器上的,如果使用MAT和Jprofiler这些工具会出现这种情况,就是在我们电脑本地需要远程连接linux上部署的Java项目,.这样就需要在服务器上项目进行参数的配置,而且需要远程连接,还需要网络管理员给你开辟一个连接通道防火墙开通等等. 这样太麻烦了.
项目上线之前你用MAT和Jprofiler进行监控是很方便,但是一旦项目上线之后,就很少使用MAT Jprofiler这些图形化界面工具了.
就需要使用在服务器端通过命令行的方式去进行性能的监控和调优的工具,就是Arthas

概述

Arthas是阿里巴巴开源的Java诊断工具,可以在线排查问题,不需要重启,动态跟踪Java代码,实时监控jvm状态.
Arthas支持jdk 6+ 支持linux/mac/windows,采用命令行交互模式,同时提供丰富的Tab自动补全功能,进一步方便进行问题的定位和诊断.

arthas能解决哪些问题

当你遇到下面类似的问题束手无措的时候,Arthas可以帮你解决:
这个类从哪个Jar包加载的?为什么会报这种类相关的Exception?
我改的代码为什么没有执行到?难道我没commit?分支搞错了?
遇到问题无法在线上debug,难道只能通过加日志再重新发布么?
线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法复现.
是否有一个全局视觉来查看系统的运行状态?
有什么版本可以监控到jvm的实时运行状态?
怎么快速定位应用的热点,生成火焰图?

基于哪些工具开发而来

image.png

官方文档

https://arthas.aliyun.com/doc/quick-start.html