发现自己的服务运行缓慢,或CPU/内存占用率过高,你是否都需要用java自带的jmap、jinfo、jstack等敲一堆命令,当然你也可以用jprofile分析,但使用总是不够便捷。你肯定希望有一款更方便更直观的工具可以进行这些性能分析。由阿里开发开源的Arthas正是这么一款非常好用的Java诊断工具。
一. Arthas(阿尔萨斯)能干什么?
Arthas 是Alibaba开源的Java诊断工具,它能帮你解决以下问题:
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
是否有一个全局视角来查看系统的运行状况?
有什么办法可以监控到JVM的实时运行状态?
• Github: https://github.com/alibaba/arthas
• 文档: https://alibaba.github.io/arthas/
二. 安装部署
1、去Arthas官网下载完整压缩包,其实也就几个jar在里面。大家可以在附件进行下载。
2、将Arthas压缩包上传到需要诊断微服务的服务器上,例如我放到/tmp目录下。
3、由于需要依赖jdk,如果环境上没有jdk,请先安装jdk,huawei jdk,点击下载。
4、解压,并执行jdk环境变量设置
export JAVA_HOME=/tmp/_temp/jdk1.8.0
export PATH=".: P A T