云服务器的cpu被塞满了!!!!

时间:2024-01-28 15:58:58

前段时间发现我的服务器cpu总是处于100%状态,最开始没在意,以为自己部署的服务占用比较多,但当我把所有服务都关掉之后发现还是100%,通过top命令发现了有两个占用进程特别多的应用,分别为tsmkswapd0,查了一下果然是被黑了,于是开始查找方法。

第一步:删除启动进程的文件:

首先使用top查看命令的进程id,然后使用pwdx 进程id 查看启动该进程的文件路径,直接删除。

第二步:查看crontab -e 关联的脚本文件:

发现内容如下:

*/5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &'

我将上面的脚本分成三段,来解析一下:

第一段黑色部分:表示每五分钟执行一次

第二段灰色部分:flock 命令对 crontab 任务的串行化,flock 通过对一个中间文件加文件锁来间接实现同一时刻某个任务只有一个实例运行的目标。-x 表示对文件加上排他锁,-n 表示文件使用非阻塞模式,-c 选项指明加锁成功后要执行的命令。

第三段蓝色部分:加上这段表示当程序在你所指定的时间执行后,系统会发一封邮件给当前的用户,显示该程序执行的内容,若是你不希望收到这样的邮件,请在每一行空一格之后加上 > /dev/null 2>&1 即可

第三步:删除该脚本,重启crontab,系统正常了。

重启:systemctl restart crond