目录:
一、Arthas 介绍
二、Arthas 使用场景
三、Arthas怎么使用
四、Arthas 定位性能问题
定位Java代码导致占用CPU高的问题
线程死锁
前言:
在做性能测试的过程中,当遇到Java性能问题,比如CPU飙升,负载突高,内存溢出等问题,需要一个个命令输入,比如jstack,jmap,top。最终才能一步步定位到问题,有时还不能定位到问题,而通过arthas可以很快的定位到问题
一、Arthas 介绍
Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,提供 Tab 自动不全,可以方便的定位和诊断线上程序运行问题。
Arthas 官方文档十分详细,本文也参考了官方文档内容,同时在开源在的 GitHub 的项目里的 Issues 里不仅有问题反馈,更有大量的使用案例,也可以进行学习参考。
二、Arthas 使用场景
主要的场景如下:
1、是否需要一个全局视角来查看系统的运行状况?
2、系统 CPU 升高了,到底是哪里占用了 CPU?
3、运行的多线程有死锁吗?有阻塞吗?
4、有什么方法可以监控到 JVM 的实时运行状态?
三、Arthas 怎么使用
1、安装
可以在官方 GitHub 上进行下载,也可以在国内的码云 Gitee 下载。
GitHub 下