Arthas:排查cpu异常过高的问题
下载arthas
curl -O https://alibaba.github.io/arthas/arthas-boot.jar
启动arthas
java -jar arthas-boot.jar
dashboard 仪表板
第一部分是显示JVM中运行的所有线程:所在线程组,优先级,线程的状态,CPU的占用率,是否是后台进程等
第二部分显示的JVM内存的使用情况
第三部分是操作系统的一些信息和Java版本号
dashboard
通过 thread 命令来获取线程信息
1、当没有参数时,显示所有线程的信息
thread
2、展示当前最忙的前3个线程并打印堆栈thread -n 3
3、显示1号线程的运行堆栈thread 1
4、找出当前阻塞其他线程的线程,有时候我们发现应用卡住了, 通常是由于某个线程拿住了某个锁, 并且其他线程都在等待这把锁造成的。 为了排查这类问题, arthas提供了thread -b, 一键找出那个罪魁祸首。thread -b
5、指定采样时间间隔,每过1000毫秒采样,显示最占时间的3个线程thread -i 1000 -n 3
6、查看处于等待状态的线程
找对对应方法解决
Arthas:排查cpu异常过高的问题
https://cason.work/2023/10/27/Arthas-排查cpu异常过高的问题/