故障現象
Centos系統中donet core服務進程重啓後,進程無法正常啓動,應用程序log一直提示MySQL連接超時,無法連接(本地測試發現可以連接,之前並未修改過DB連接或網絡層面的修改操作)。查看系統message日誌發現:
初步判斷就是abrt服務的報錯導致應用進程掛掉。
解釋abrt-hook-ccpp
hook爲鉤子,ccpp爲C++。崩潰的程序由abrt-hook-ccpp監控。
abrtd是一個daemon守護進程,監聽所有應用程序的運行,記錄內核core文件。一旦某個程序掛了,它會將瞬時的計算機現場狀態給記錄下來,如有問題的數據,執行的命令,core文件等。並按系統設置採取措施,避免影響到其他正常程序運行。
解決方法
方法一、原因是無法創建ccpp文件導致,修改/etc/abrt/abrt-action-save-package-data.conf配置文件的 ProcessUnpackaged 參數。將
ProcessUnpackaged = no
修改爲
ProcessUnpackaged = yes
然後重啓 systemctl status abrtd.service
方法二、修改/etc/abrt/abrt.conf文件,通過修改 MaxCrashReportsSize 配置項控制dump的最大size,將MaxCrashReportsSize修改爲0,測試後發現core文件順利生成。
默認爲
MaxCrashReportsSize = 1000
修改爲
MaxCrashReportsSize = 0
重啓abrtd服務 systemctl status abrtd.service