技术解析
某台服务器下,安装虚拟化为openvz,发现负载已经上天了(5k多的负载)。
1.第一反应是不是IO读写过高导致的服务器负载过高。
使用iotop检测后,发现md0占用较高,但处于正常水平。
2.检查CPU占用
使用htop和top命令查看了进程的CPU占用,没有发现占用CPU较多的问题。
截止到这一步的时候,我已经一脸懵逼了。
CPU占用不高,IO占用不高,负载却搞的出奇。
然后在搜索资料的时候发现了,可能是某些进程导致的负载奇高。
3.检查进程
我使用了 pidstat 1 1 此命令,检查了进程,发现了某些奇怪的进程(15个英文字母和数字组合而成的进程名)。
当我用killall杀掉这些进程后,负载开始飞快的降下来了。
这时,我写了一个脚本开始杀这些随机进程。
杀完的一段时间后,这些进程又顽强的活了,并且更改了进程名的规则。
因为使用脚本杀进程,无法实际解决。
查看了进程属于哪台openvz vps,将机器暂停。