一、故障现象
服务器是放10来个游戏服的,最近发现总有一个游戏服会无缘无故挂掉,程序日志和命令记录也没有找到挂掉的原因,后来在系统日志(/var/log/messages)找到报错信息:
从报错可以看到时间点是对得上的,初步判断就是abrt服务的报错导致游戏服进程挂掉。
二、解决方法
方法1、这是因为无法创建ccpp文件导致的,因为需要修改/etc/abrt/abrt-action-save-package-data.conf中ProcessUnpackaged参数,修改如下:
# sed -i 's/ProcessUnpackaged = no/ProcessUnpackaged = yes/g' /etc/abrt/abrt-action-save-package-data.conf&& service abrtd restart
方法2、关闭abrt服务器
# chkconfig | grep abrt
# chkconfig abrt-ccpp off
# chkconfig abrt-oops off
# chkconfig abrtd off
# service abrtd stop
在linux调试程序,最痛苦的就是程序异常宕掉,但是找不到core文件,很难定位问题。但是有了core文件就容易定位多了,而abrt服务就是用作记录这个core文件的,有了core文件也需要及时删除,通过abrt-cli list查看文件的包,然后用abrt-cli rm 【文件包】就可以了。当然觉得没必要是完全可以把这个服务关掉的
abrt abrt (automatic bug report tool)服务将系统bug和SELinux收集汇报给Bugzilla以方便开发者修复。