引入javaweb项目后,发现cpu非常消耗,需要找出问题所在
编写测试程序,记录相关步骤:
故意写死循环
publicclasstestcpu { publicstaticvoidmain (string [ ] args ) while ) true ) { new Object; } }
终端:
顶级
检查消耗cpu的进程的PID=2864
ps -mp 2864 -o THREAD,tid,time陉览线程TID=2866
将线程ID转换为十六进制
printf '%xn' 2866
接下来确认堆栈信息
jstack 2864 |grep b32 -A 30