关于mcelog.cron引起的load avg值偏高问题
遇到db server 的load avg偏高的现象,查到最后发现“凶手”是mcelog.cron
它的代码如下:
代码
#!/bin/bash
if [ -e /proc/xen ] && [ `cat /sys/hypervisor/uuid` != "00000000-0000-0000-0000-000000000000" ]; then
# this is a PV Xen guest. Do not run mcelog.
exit 1;
else
/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog
fi
if [ -e /proc/xen ] && [ `cat /sys/hypervisor/uuid` != "00000000-0000-0000-0000-000000000000" ]; then
# this is a PV Xen guest. Do not run mcelog.
exit 1;
else
/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog
fi
注意其中的"`cat /sys/hypervisor/uuid`",走到这里,系统就会僵在那,即使用kill -9杀死它的进程号的方法也是没用的。
在运行一段时间后,会发现进程队列中有大量的关于它的cron。
个人认为解决的方法有两种:
1.修改一下这个脚本(个人推荐)
2.删除这个cron任务
这里有一个关于它的 redhat bug 链接:
https://bugzilla.redhat.com/show_bug.cgi?id=522827