arthas的作用以及如何安装,网上很多,可以自行查看;本文直接介绍详细可操作的流程和方法:1.首先使用jps -l查看目前的java应用进程
2.然后,启动arthas,选择需要监控的进程:
3.使用dashboar命令查看该应用整体情况
dashboard
4.使用thread命令,查看占用cpu过高的几个线程ID
thread
5.然后使用thread 线程ID查看具体线程在执行哪些内容,可以看到对应的类和方法
thread 18193
6.使用jad反编译 对应类的方法,分析具体的代码,定位问题
从以上代码可以看到,只要有一个线程的任务执行不完,就会死循环大量消耗cpu资源;
接下来就是对发现的问题进行处理,可以从业务设计层面或者代码层次处理;
例如此处,可以换一种等待线程结束的方法