默认情况下,我在 Ubuntu 中有 250MB 的交换空间,我想将其扩展到更大的大小。我需要 800MB,我认为这足以打开多个应用程序而不必达到当前的交换限制。我希望有一个人可以帮助我。
我想通过在启动时禁用 plymouth 服务来改善我的 Ubuntu GNOME 16.04 的启动时间。我在各种网站上找到了两个关于如何做到这一点的答案:
# systemctl disable plymouth-quit-wait.service
# systemctl mask plymouth-quit-wait.service
Run Code Online (Sandbox Code Playgroud)
除非我知道他们在做什么,否则我无法执行上述任何一项。
Ubuntu 22.04systemd-oomd默认情况下启用了该服务,每当我尝试使用大量线程/内存编译应用程序时,该服务都会“帮助”杀死我的 IDE 和/或终端。
关闭此功能或将服务配置为在我使用它们时不向随机进程射击的正确方法是什么?
我知道我可以通过几种方式减轻这种行为;例如,通过增加交换空间的大小,但这仍然不是万能的,因为:
OOM守护进程会杀死整个进程树,因此即使是托管被杀死进程的终端也会突然消失;
OOM 守护进程会在不向用户提供任何通知的情况下杀死进程树,因此用户只知道他们的终端/IDE/应用程序托管的内存消耗大的进程突然消失了。
如果用户知道要查找什么,journalctl他们可以通过或类似的方式找出事后发生的情况,但我认为普通 Ubuntu 桌面用户不会考虑这样做。
举个例子,通常当进程因致命信号或类似信号而崩溃时,崩溃报告者会告诉用户出了问题。难道不应该有一个类似的工具来处理被 OOM 守护进程杀死的进程吗?
编辑以添加请求的输出:交换空间;据我所知,这些只是安装 Ubuntu 22.04 时设置的默认值。
$ free -h
total used free shared buff/cache available
Mem: 31Gi 5.2Gi 3.1Gi 210Mi 23Gi 25Gi
Swap: 2.0Gi 0.0Ki 2.0Gi
$ sysctl vm.swappiness
vm.swappiness = 60
$ swapon -s
Filename Type Size Used Priority
/swapfile file 2097148 792 -2
Run Code Online (Sandbox Code Playgroud)