之前遇到过一个问题,在RHEL系统运行一段时间后,负载不停升高,具体情况看下面截图:
这是一个测试机器,平时我基本不登录,那天登录上去,看到这负载,吓了一跳,这么高的load,还好机器操作不卡,
查了一下,很多如下图的进程:
当时没有太关心这个,把机器重启了接着用
过了几天发现这些进程又多了起来,看来得解决一下
查了一些资料,发现是/etc/cron.hourly 脚本中cat /sys/hypervisor/uuid 导致的进程僵死
这个/etc/cron.hourly/mcelog.cron脚本里面有一条命令cat /sys/hypervisor/uuid 然后不会返回结果,一直hang状态,导致每次执行就会多一系列进程
解决的办法很简单,这应该是装了XEN才会出现的问题,把这个脚本简单改一下就可以,由于是系统问题,没有再往下研究,问题解决了就ok
注释掉这个脚本里的内容,增加如下信息:
if [ -e /proc/xen/capabilities ] ;then
# this is a PV Xen guest. Do not run mcelog.
if ! grep control_d /proc/xen/capabilities ;then
exit 1;
fi
else
/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog
fi
然后重启了机器,观察了几天没有在出现这个问题。