我有一台有两个 cpu(24 核 * 2)的服务器,最近,我注意到总是htop
报告一个 cpu 已完全使用
但我找不到任何 cpu 使用率高的线程htop
,top
或者ps -ef
我努力了:
重启系统
更新htop
我的系统是:
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
uname -a
Linux server 3.10.0-957.el7.x86_64 #1 SMP Thu Oct 4 20:48:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
更新
简单来说,我第一次遇到这个问题,就是htop显示CPU被占用了一半,但是top、ps等其他命令却与此不一致。起初我以为是htop的错。
发布这个问题后,我想出了一个简单的方法。我通过带外管理查看了服务器的功率,发现总功率非常大,接近300W,这与服务器没有其他负载时CPU全速运行的情况相符。
然后我怀疑某些隐藏进程使用了CPU并通过unhide工具检查了这一点(http://github.com/YJesus/Unhide)。
取消隐藏列出了很多隐藏进程,这些进程没有显示在top
和htop
经过搜索Google
,我认为这是因为一种crypto mining malware
杀死所有这些后,CPU 使用率htop
正常,但重新启动后,该隐藏进程再次运行