使用top命令查看CPU使用率为100%,但是下面的线程CPU的使用率都很低,没有高的。找不到高使用率的进程。
起因:
今天中午发现我的阿里云服务突然CPU达到了100%了,我开始以为是普通的病毒,我就正常的使用top
命令来查看异常进程。 看了一下也没有其他异常。但是怎么找都找不到。
在网上找了一些,都是说使用top命令来查看cpu占有率高的,然后将它删除即可。也是无奈,这样的难题对我这种小白来说,满满的无奈。
虽然麻烦,但是问题总得解决吧!继续百度,突然看到小学弟-他的问题和我问题差不多的。
安装 perf
$ sudo yum install perf
perf 的使用
大家可以去看看Arnold Lu@南京,他的写的很详细。这边我也就不详细说明了。
解决异常
在perf安装好了以后我们使用perf top -s comm,pid,symbol
命令,这时候我们就会发现那个我们怎么找都找不到的那个进程了,执行的却是一堆unknown进程。然后我们退出后,我们使用kill -9 PID(进程id)
这时我们就会发现CPU一下就降低了。问题解决了!
我想多了
看似问题解决了,但是当我把服务重启的时候,却发现那个又出来了,尴尬!所以这个病毒应该在我的启动脚本里面。所以要找我的启动文件里删除那个脚本。
暂时没找到那个问题,但是可以在启动的时候将它结束了,对于启动后没有影响。等有时间再找一下吧,如果有大佬知道的还请告知。哈哈
借鉴
https://www.cnblogs.com/arnoldlu/p/6241297.html
https://www.cnblogs.com/xiao-xue-di/p/11325114.html