Ubuntu 22.04 LTS 版本带来一项新功能:默认启用 systemd-oomd 作为内存不足时的守护进程,它可以在内存高压的情况下干掉一部分进程。 然而,该 OOMD 功能似乎杀红了眼,有时候即使用户没有感到任何内存压力,它也会莫名其妙地终止正在运行的程序,比如 Firefox、Chrome 或 Visual Studio Code,体验极差的用户在 Ubuntu 社区邮件列表中大量留言吐槽。 一位沮丧的用户写道:
随后,Canonical 工程师 Nick Rosbrook 在邮件中解释了 OOMD 杀死进程的条件:
在实践中,大部分应用被杀死都是因为条件 1,很大程度上是因为 Ubuntu 只提供了 1GB 的交换空间, SwapUsedLimit 太容易达到 90%。 基于进程的终止条件,Nick 提出了一些改动的思路,比如改变 systemd-oomd 计算 / 触发内存值的方式,又或是增加 SwapUsedLimit 的值,因为 1 GB 实在太少了。 社区现已针对该问题启动了一个 Ubuntu 开发线程,征求更广泛的 Ubuntu 社区反馈,该问题应该会在 22.04.1 更新中得到解决。 (责任编辑:IT) |