最近的linux中的openoffice服務進程運行一段時間後會自動中止,剛開始還覺得忘了啓動執行自啓動腳本致使的。在連續出現前述狀況後,開始查找應用程序崩潰的緣由,首先查看linux服務器的內存使用狀況:html
free -m
顯示空閒內存是充足的,不存在內存不足狀況,因此不是由於內存不足致使服務進程被系統進程killed的緣由。由於linux服務器中,若是系統內存不足,會killed一些應用程序的進程。linux
下一步查看服務器運行日誌,從日誌中找出一些蛛絲馬跡shell
cd /var/log
能夠看到message文件,這就是系統運行的日誌。打開相關的message文件,搜索openoffice,發現瞭如下一段日誌說明服務器
Nov 13 13:56:48 test abrt[18890]: saved core dump of pid 11482 (/opt/openoffice4/program/soffice.bin) to /var/spool/abrt/ccpp-1447394202-11482.new/coredump (573923328 bytes) Nov 13 13:56:49 test abrtd: Directory 'ccpp-1447394202-11482' creation detected Nov 13 13:56:49 test abrtd: Size of '/var/spool/abrt' >= 1000 MB, deleting 'ccpp-1444992125-1504' Nov 13 13:56:49 test abrt[18890]: size of '/var/spool/abrt' >= 1250 MB, deleting 'ccpp-1444992125-1504' /opt/openoffice4/program/soffice: line 121: 11482 Aborted (core dumped) "$sd_prog/$sd_binary" "$@" Nov 13 13:56:49 test abrtd: Size of '/var/spool/abrt' >= 1000 MB, deleting 'ccpp-1445246374-1907' Nov 13 13:56:49 test abrtd: New crash /var/spool/abrt/ccpp-1447394202-11482, processin
從上面的日誌能夠看出,openoffice運行錯誤記錄到.net
/var/spool/abrt/ccpp-1447394202-11482.new/coredump
進入/var/spool/abrt, 能夠看到幾個目錄日誌
ccpp-1436301918-8428 ccpp-1446462729-2232 ccpp-1446462729-2232.new ccpp-1447394202-11482
他是根據應用程序的pid生成的目錄,好比8428就是openoffice運行時的pid。因爲每一個目錄中都有一個coredump文件。若是coredump文件大小之和超過1G以後,便會致使後續應用程序運行錯誤時的coredump文件沒法生成。將上訴含有pid的目錄暫時遷移到空閒的空間中,而後再啓動openoffice服務,跟蹤運行狀況生成錯誤信息code
Nov 13 19:12:15 test abrt[10039]: saved core dump of pid 2232 (/opt/openoffice4/program/soffice.bin) to /var/spool/abrt/ccpp-1446462729-2232.new/coredump (296034304 bytes) Nov 13 19:12:15 test abrtd: Directory 'ccpp-1446462729-2232' creation detected Nov 13 19:12:16 test abrtd: New crash /var/spool/abrt/ccpp-1446462729-2232, processing
在/var/spool/abrt/目錄中執行openoffice服務自啓動程序,結果出現htm
shell-init: error retrieving current directory: getcwd: cannot access parent directories: chdir: error retrieving current directory: getcwd: cannot access parent directories:
網上查詢了,該錯誤表示 getcwd 命令沒法定位到當前工做目錄,出現這種狀況的緣由有:blog
因而使用cd退出當前目錄,從新執行service命令,成功。進程
最後追蹤發現用戶上傳的一個文檔文件很大,於是致使openoffice進行轉換的時候致使服務崩潰。