尝试在 Centos 6 机器上调试一个不常见(但很痛苦)的 oom-killed HTTP 进程。我在日志中得到了常见的信息:
Out of memory: Kill process 14466 (httpd) score 405 or sacrifice child
Apache 日志确认该进程已终止。不幸的是,这无法让我更接近找出代码树中 httpd 出错的位置。这是一台相当繁忙的机器,许多用户连接以在数据库驱动的站点 (mod_perl) 上执行操作。考虑到正常运行负载,很难将“此用户执行了该操作”与 OOM 事件关联起来,尤其是因为事情似乎运行了几天或几周,然后突然其中一个 http 线程崩溃了。
我想要获取即将终止的 PID oom-killer 的状态信息转储,而不仅仅是事后的“oom-killed 此进程”。这可能吗?