问题:
如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载?
第一步:
1,top -c
2, 键入大写P (按照CPU使用率排序)
查看最消耗 CPU的进程PID。
第二步:
1,top -Hp PID 显示一个进程的线程CPU使用情况
2,键入大写P (按照CPU使用率排序)
查看进程PID中最消耗CPU的线程PID。
第三步:
将线程PID转换成16进制
工具:printf
方法:printf “%x” PID
第四步:查看堆栈,找到线程在干嘛
工具:pstack/jstack/grep
方法:jstack 10765 | grep ‘PID的16进制’ -C5 --color
打印进程堆栈
通过线程id,过滤得到线程堆栈
linux排查cpu负载负载过高
最新推荐文章于 2024-09-21 18:48:12 发布