在今年的四月底,Ubuntu发布了他们的下一个LTS版本:Ubuntu 22.04,不得不说,时间过得真的很快,一晃两年就过去了,上一次的LTS还是在2020年。遥想20年疫情,被封在家里,也着实十分期待有着重大视觉更新的20.04。

现在两年过去,22.04带来的更新丝毫不亚于当年从18.04到22.04的变化,除了全新的GNOME42,常规的开发工具更新,以及更不要脸的Snap包的推广,他们还引入了一个叫做“Systemd-OOMD”的坑爹玩意儿。

具体来说,就是这个进程会在系统内存告警的时候,自动杀掉一些后台。虽然初心是好的,但是嘛,实际执行起来就…它会自动在你内存告警的时候,“贴心的帮你”关掉正在干活的应用,来释放你的内存。

最为坑爹的是,丫的这个功能还没在正式的发布日志里提及,也就是说,很多人只有在被坑了以后才察觉到它的存在。因为本人有编译Android的需求,而这项活动本身就是内存大户,内存时不时飙升到下面的情况是很正常的事情。

PXL_20220823_163910265

于是,在升级到22.04后,我的终端应用在跑这项工作时总是时不时的出现闪退的情况,开始以为是电脑有问题,于是在tty下跑,但是它真的很不方便啊。

后来偶然看到了这玩意儿,才突然意识到了可能是这玩意儿在作妖。于是,果断关闭,内存加交换跑到24G,终端再也没有闪退。

关闭方法也很简单:

首先停止服务:

sudo systemctl stop systemd-oomd

然后看一下服务的状态:

sudo systemctl status systemd-oomd

640

最后直接禁用即可:

sudo systemctl disable systemd-oomd

Q.E.D.