有什么方法可以让 Linux 在 oom-kill 之前转储进程的堆栈信息吗?

tau*_*hat 5 memory linux process

尝试在 Centos 6 机器上调试一个不常见(尽管很痛苦)的 oom-killed HTTP 进程。我在日志中得到了常见的信息:

Out of memory: Kill process 14466 (httpd) score 405 or sacrifice child
Run Code Online (Sandbox Code Playgroud)

Apache 日志确认该进程已死亡。不幸的是,这让我无法弄清楚 httpd 代码树中哪里出了问题。这是一台相当繁忙的机器,有很多用户连接在数据库驱动的站点 (mod_perl) 上执行操作。考虑到正常的运行负载,很难将“这个用户这样做了”与 OOM 事件关联起来,特别是因为事情似乎运行良好几天或几周,然后突然一个 http 线程崩溃了。

我想要得到的是 PID oom-killer 即将终止的状态信息转储,而不仅仅是事后的“oom-killed 这个进程”。这可能吗?