本地安装Arthas

1.安装地址:

点击安装

2.环境变量是个坑

环境变量要跟springboot 一个jdk
select java 
java -version 
可以去查看java的版本是否和spring boot 是否是一个版本

3.启动

java -jar arthas-boot.jar

4.dashboard

dashboard 命令可以查看系统的实时数据面板。
q 或 ctrl+c 可以退出数据面展示。
sc 查看JVM已加载的类信息
sm 查看已加载类的方法信息
trace 定位方法内部代码块性能耗时情况

数据说明:

ID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应
NAME: 线程名
GROUP: 线程组名
PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高
STATE: 线程的状态
CPU%: 线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。
TIME: 线程运行总时间,数据格式为分:秒
INTERRUPTED: 线程当前的中断位状态
DAEMON: 是否是daemon线程

5.thread

thread 1 打印线程 ID 1 的栈

Arthas 支持管道命令,可以利用 thread 1|grep 'main(' 查找 main class 查看 CPU 使用率 top n 的线程的栈,当前最忙的前 n 个线程:
thread -n 3
查看 5 秒内的 CPU 使用率 top n 的线程栈:
thread -n 3 -i 5000
-i 指定 CPU 占比统计的采样间隔,单位为毫秒
查看线程是否有阻塞:
thread -b
有时候我们发现应用卡住了, 通常是由于某个线程拿住了某个锁, 并且其他线程都在等待这把锁造成的。 为了排查这类问题,此时使用 -b 参数,找到罪魁祸首。
注意, 目前只支持找出synchronized关键字阻塞住的线程, 如果是java.util.concurrent.Lock, 目前还不支持

就此为止,想查看更多的命令解释,请参见官方文档
alibaba.github.io/arthas/commands....

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
0
收藏
0
排名:3679
访问:20
私信
所有博文
社区赞助商