谷歌工程师提案process_reap:帮助恢复内存的系统调用方案

尽管像 OOMD/systemd-oomd 这样的 Linux 系统守护进程越来越被接受,但在高负载情况下处理系统内存(RAM)和其他行为仍存在一个问题–杀死并回收进程所需的时间。在今年 6 月下旬,Google 工程师提出了名为“process_reap”的全新系统调用,以帮助恢复内存。

自动草稿

Google 推荐的 process_reap 系统调动被设计为从调用者的相关联系中回收濒死进程。使用 process_reap 应该允许内存在调用者的 CPU 亲和力和优先级下更快地被释放。Process_reap 只能用于通过 SIGKILL 死亡的进程,例如通过内存不足/内存压力守护进程触发的时候。

Google 的 Suren Baghdasaryan 发出的提案解释说:“能够快速有效地释放内存是很重要的。不幸的是,进程在收到 SIGKILL 后释放其内存的时间可能会根据进程的状态(不间断的睡眠)、进程运行的内核的大小和 OPP 水平而变化。以一种更可预测的方式释放目标进程的资源的机制将提高系统控制其内存压力的能力”。

自 6 月底发表以来,一些人质疑 process_reap 是否真的需要自己的系统调用和其他问题,但到目前为止,这似乎是一个没有被直接批评或击倒的想法,并可能会整合到未来 Linux 内核版本的 Mainline 中。

未经允许不得转载:阿藏博客 » 谷歌工程师提案process_reap:帮助恢复内存的系统调用方案