最近的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进行转换的时候致使服务崩溃。