上周公司阿里云服务器后盾报警,CPU占用霎时飙升到100%:

首先想到应用top命令查问CPU占用详情:

发现过程占用CPU都比拟低,在CPU占用一栏发现只有ni的占用比拟高。

先理解一下CPU相干监控项:

  • us: 用户空间占用CPU百分比。
  • sy: 内核空间占用CPU百分比。
  • ni:用户过程空间扭转优先级的过程占用CPU百分比。
  • id: 闲暇CPU百分比。

ni示意用户过程扭转优先级占用,这个解释有些形象,简略来说就是优先过程调配工夫片占用总过程CPU的百分比

ni越高示意某个过程优先级越高,占用的CPU占比也就越高。

这么诡异的程序应用top命令找不到,再应用htop查找,没有装置先应用命令装置:

yum -y install epel-releaseyum -y install htop

而后输出htop查问:

发现cryto相干字段的过程CPU特地高,首先用kill -9杀死过程。kill过程之后,过了几秒,相干的过程又死灰复燃了。找了很多文章,发现cryto是一个挖矿的病毒。

解决方案

  • htop中找到cryto过程对应的门路,删除该目录上面所有的文件。
  • 全局搜寻cryto,把呈现的文件或者目录全副删除。
  • 查看防火墙是否敞开,开启防火墙,装置安全软件查杀,全盘查杀整个服务器。

总结

  • 后盾报警CPU占用100%,应用top命令找不到占用高的过程,但发现ni占比过高,ni示意优先级过程占用CPU的百分比。阐明这个过程始终在长时间的占用CPU
  • 应用htop找到过程,发现是cryto占用很高,cryto是挖矿病毒,kill过程之后,过程又死灰复燃。
  • 找到过程对应的目录,以及全局搜寻cryto关键字,删除所有上述目录,再查看后盾,CPU占比降落。

参考

linux top中nice的含意