【性能调优】cpu过载问题

如何定位代码中哪段导致CPU过载?
步骤一:通过top或者pidstat命令,定位具体的进程号,如下图1

top

在这里插入图片描述

步骤二:top -p 1后,按住shift+H 开启显示详细的线程
在这里插入图片描述

步骤三:把1855转换成16进制
因为线程中的线程程序号是以16进制存储的

printf "%x
" 1865

在这里插入图片描述

步骤四:再通过jstack命令和上面定位的线程号分析线程正在处理的事情

jstack -l 进程id | grep -A 20 0x73f
或 jstack -l 进程id | grep 0x73f

在这里插入图片描述
可以分析线程正在做的事情,也可以分析具体代码在做什么事情

原文地址:https://www.cnblogs.com/guanhuohuo/p/12533555.html