公司有几台空闲的服务器,最近打算用他们来做一系列的docker–compose搭建各种中间件集群的教程,然后上zabbix发现这几台服务器cpu全部占用100%。
上到服务器,先top查看一下有什么进程在跑。大写M排个序看看;
果然,有个叫kthreaddk的东西没见过而且占用了资源,应该是kthreaddi的变种吧,之前也处理过。那这次也按照步骤处理吧,pid看一下是3106。
首先,先确认一下处理思路,直接kill大概率是会重新又跑出来的,我们就先检查服务器看看有什么地方是和平常不一样的或者没见过的,如果不确定可以把进程名复制出来去百度一下,一般有用的都能百度出来的。所以我先systemctl status 3106 查看一下是不是有什么守护进程在跑。
仔细看Loaded配置文件的位置,开机启动(disabled代表启用);Active表示正在运行;那我们就cd进去/run/systemd/system看一下里面有什么吧。
进去/ect里面检查一下cron.daily、cron.hourly、cron.monthly、cron.weekly这几个定时器文件夹里面有没有什么奇怪的东西。
再看一眼crontab -l看看有什么定时任务,其实这个命令查看的内容对应的是/var/spool/cron/这个文件夹里对应用户名的文件内容,也可以直接进去修改或者删掉这个文件。
这个时候问题来了,看了几遍,发现每次这个qfigfc文件的路径都不一样,那看来是有什么地方一直在修改这个文件。我先找到他最后一次的位置cat一下看看里面是什么。
因为刚才有提到,可能有某个地方一直在修改crontab里面的内容,所以我再跑一下netstat -ltnp看看是不是有什么进程在监听端口。
至此,检查的步骤都做完了,开始该删除的删除,该kill的kill就好了。看看都弄好之后,top一下看看kthreaddk这个东西还会不会重新出来,如果没有了,那就弄好了,还有回头记得检查一下安全组等策略是不是有没设置好的,没用的端口就关掉。
最后处理好之后,cpu就降下来了,观察一段时间好像也没有重新再出来了,那应该就是处理好了。
先检查:
再处理:
最后观察:
附:
原文地址:https://blog.csdn.net/HoZanDung/article/details/129704999
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_34848.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!