系统极客一直在努力
专注操作系统及软件使用技能

Ubuntu 26.10 优化低内存处理机制,减少桌面崩溃

Ubuntu 26.10

在系统内存吃紧时,Ubuntu 26.10 调整了进程清理机制。以后,因为某个浏览器标签页内存泄漏而导致整个桌面崩溃、直接被踢回登录界面的糟心事,将会大大减少。

在系统物理内存耗尽时,Linux 内核自带的 OOM killer(Out-Of-Memory Killer)会自动介入,通过强制结束进程来回收内存。但过去这套机制经常都会「误杀忠良」。

Ubuntu 26.10 优化低内存处理机制

在默认配置下,许多普通应用和关键桌面服务共享相同的优先级评分。OOM killer 在寻找清理目标时,看重的就是这些 OOM 评分,而不是进程实际占用了多少内存。比如 Firefox 和 GNOME Shell 就处在同一优先级,在内存压力上来的时候,它有可能为了腾出内存优先干掉 GNOME Shell,反而放过了真正导致内存失控的那个罪魁祸首。

经常跑 Ubuntu 虚拟机的用户多半遇到过这类情况:有时候只是多开了几个浏览器标签页,OOM 没杀浏览器,反倒是先把 GNOME Shell 给杀掉了。但对用户来说,应该是宁可网页崩溃,也不想看到整个桌面会话都直接没了吧。

为此,Ubuntu 26.10 做了 2 项关键调整来缓解这个问题:

  1. 调低核心服务的 OOM 评分:Canonical 工程师 Jean Baptiste Lallement 表示,这次调整的核心目标就是「尽可能保住桌面会话」。把桌面进程的 OOM 评分调低之后,内存压力上来时系统会优先清理应用层进程,核心会话服务被意外终止的概率会低很多。
  2. 限制 systemd-oomd 的清理权限:直接禁止systemd-oomd结束整个用户会话。之前systemd-oomd和内核使用的 OOM 优先级评分体系并不一致,如果不加以限制,核心桌面服务还是可能因为单纯的内存压力指标,被它错误地干掉。

这两项改动会显著改善 Ubuntu 在内存耗尽时的稳定性,但 Jean Baptiste Lallement 也坦言这只是「第一步」,没法完全避免 OOM 导致的问题。官方后续还计划给桌面服务和应用引入更细粒度的 OOM 策略。这只是 Ubuntu 26.10 众多改动中的一项,想了解全部更新,可以参考 Ubuntu 26.10 完整更新盘点。

赞(0)
分享到

评论 抢沙发