1.查找cpu使用率最高的进程,称为主进程
查看各种应用的cpu使用情况,按下大写P,从高到低排序
能看到占用cpu最多的那个主进程Pid,比如 13478
top -c
2.查找cpu使用率最高的进程里哪个线程占用cpu 最高,能得到一个线程Pid,比如 15678
top -Hp [主进程pid]
top -Hp 13478
3.将cpu使用率最高的线程Pid转换为16进制,得到 3D3E
print “%x
” [线程Pid]
print "%x
" 15678
4.打印内存堆栈信息
jstack [主进程id] | grep '0x3D3E' -CS -color
jstack 13478 | grep '0x3D3E' -CS -color
可以看到哪个类的哪个方法导致的cpu占用过高,根据回显的类和方法进行调整
1.查看僵尸进程
有时候云服务器上跑了多个应用,想把占用高的进程kill掉,但是又kill不掉,说是这个进程是僵尸进程,
使用 ps aux,回显的 STAT 栏会显示为 Z(zombie状态,僵尸进程),比如8546
ps aux
2.找到僵尸进程的父进程,比如 14236
ps -ef | grep 8546
3.先kill掉父进程
kill -9 14236
再尝试kill子进程
kill -9 8546
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...