浦东新区中国建设银行官网站,wordpress数据库备份插件,科技股,先建设网站后付款问#xff1a;如何定位是哪个服务进程导致CPU过载#xff0c;哪个线程导致CPU过载#xff0c;哪段代码导致CPU过载#xff1f;步骤一、找到最耗CPU的进程工具#xff1a;top方法#xff1a;执行top -c #xff0c;显示进程运行信息列表键入P (大写p)#xff0c;进程按照…问如何定位是哪个服务进程导致CPU过载哪个线程导致CPU过载哪段代码导致CPU过载步骤一、找到最耗CPU的进程工具top方法执行top -c 显示进程运行信息列表键入P (大写p)进程按照CPU使用率排序图示线上服务CPU100%问题快速定位实战如上图最耗CPU的进程PID为10765步骤二找到最耗CPU的线程工具top方法top -Hp 10765 显示一个进程的线程运行信息列表键入P (大写p)线程按照CPU使用率排序图示线上服务CPU100%问题快速定位实战如上图进程10765内最耗CPU的线程PID为10804步骤三将线程PID转化为16进制工具printf方法printf “%x\n” 10804图示线上服务CPU100%问题快速定位实战如上图10804对应的16进制是0x2a34当然这一步可以用计算器。之所以要转化为16进制是因为堆栈里线程id是用16进制表示的。步骤四查看堆栈找到线程在干嘛工具pstack/jstack/grep方法jstack 10765 | grep ‘0x2a34’ -C5 --color打印进程堆栈通过线程id过滤得到线程堆栈图示线上服务CPU100%问题快速定位实战如上图找到了耗CPU高的线程对应的线程名称“AsyncLogger-1”以及看到了该线程正在执行代码的堆栈。转载地址https://blog.csdn.net/u014692324/article/details/80816521