Arthas定位分析详解

发布时间 2023-08-20 22:14:28作者: 橙子全栈测试笔记

一、Arthas 使用场景

主要的场景如下:

1、是否需要一个全局视角来查看系统的运行状况?

2、系统CPU升高了,到底是哪里占用了CPU?

3、运行的多线程有死锁吗?有阻塞吗?

4、有什么方法可以监控到JVM的实时运行状态?

二、Arthas安装使用

可以在官方 Github 上进行下载,也可以在国内的码云 Gitee 下载。

github下载

wget https://alibaba.github.io/arthas/arthas-boot.jar

或者 Gitee 下载

wget https://arthas.gitee.io/arthas-boot.jar

打印帮助信息

java -jar arthas-boot.jar -h

三、运行

java -jar arthas-boot.jar 9557

  

四、常用命令

dashboard

 首先我们可以通过dashboard查看线程整体的运行情况,heap的消耗情况,以及运行时环境

2、thread  查看所有线程的状态

 threa id:查看具体某一个线程的具体信息

sc & sm

sc: search class
sm: search method

sc: 

 sm:

monitor

monitor:方法的执行监控

trace

trace: 查看方法中方法的耗时

使用ognl进行条件过滤

watch

watch:观测函数的调用情况

tt

tt: Time Tunnel.记录下当前方法的每次调用环境现场
tt -t:记录调用信息

tt -i: 显示某次调用的详细信息
image

tt -l: List all the time fragments

tt -i [index] -p: 重做一次调用
image