Image 2 Image 3 Image 3 Image 3

Ubuntu 正在处理 22.04 版本频繁杀死应用的问题

频道:行业资讯 日期: 浏览:1239

  

Ubuntu 22.04 LTS版本带来一项新功能:默认启用systemd-oomd作为内存不足时的守护进程,它可以在内存高压的情况下干掉一部分进程。

然而,该OOMD功能似乎杀红了眼,有时候即使用户没有感到任何内存压力,它也会莫名其妙地终止正在运行的程序,比如 Firefox、Chrome或Visual Studio代码,体验极差的用户在Ubuntu社区邮件列表中大量留言吐槽。

一位沮丧的用户写道:

  

在杀死应用程序之前应该有一个警告,以便有机会保存应用程序数据。杀死应用程序后至少应该有道歉和解释。当前的行为给人的印象是Ubuntu 22.04使用起来<强>不可靠且不安全强劲,这对于LTS版本来说是个大问题。

  

Ubuntu 正在处理 22.04 版本频繁杀死应用的问题

随后,规范工程师尼克Rosbrook在邮件中解释了OOMD杀死进程的条件:

  <李>条件1:当总系统的内存使用量和交换使用量都超过SwapUsedLimit(在Ubuntu上默认为90%),cgoups中超过5%的交换就会成为伯父的终结对象。   <李>条件2:当一个单元的cgroup内存压力超过MemoryPressureLimit,则监控后代并且将从具有最多回收率的进程开始执行终止。   

在实践中,大部分应用被杀死都是因为条件1,很大程度上是因为Ubuntu只提供了1 GB的交换空间,SwapUsedLimit太容易达到90%。

基于进程的终止条件,尼克提出了一些改动的思路,比如改变systemd-oomd计算/触发内存值的方式,又或是增加SwapUsedLimit的值,因为1 GB实在太少了。

社区现已针对该问题启动了一个Ubuntu开发线程,征求更广泛的Ubuntu社区反馈,该问题应该会在22.04.1更新中得到解决。

Ubuntu 正在处理 22.04 版本频繁杀死应用的问题

0 留言

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码