我花了数百个小时试图找出 64 位 CentOS 5 上某个进程随机神秘终止的原因,但至今仍未找到原因。我们研究了 OOM 终止程序,查看了所有可能的日志文件,在事件发生后对服务器进行了深入的事后分析,添加了调试代码以在任何“异常”终止事件发生时触发核心转储,等等。
有问题的进程正常启动,通常会在给定服务器上运行很长时间(几天、几周,有时更长),但在随机服务器上随机间隔运行,没有明显的因果关系,它会直接退出。没有日志,没有核心文件,什么都没有。
我不知道下一步该做什么——希望能得到一些我还没有想到的解决这个问题的想法。
答案1
在进程上运行strace
或。您可以将所有输出捕获到日志文件中,也可以对其进行过滤,以便只捕获您需要的内容。您可以使用标志来仅提取您感兴趣的内容。strace 和 ltrace 将显示拦截了哪些信号、进程正在做什么以及进程终止时进行了哪些系统调用。ltrace
-e