Ubuntu22.04附带默认启用的systemd-oomd
服务,每当我试图使用大量线程/内存编译应用程序时,它就“帮助”了我的IDE和/或终端。
什么是正确的方式,要么关闭这一点,或配置服务,以不拍摄随机的过程,而我使用他们呢?
我知道我可以通过几种方式来减轻这种行为;例如,通过增加交换空间的大小,但这仍然不是万灵药,因为:
如果用户知道要寻找什么,他们可以通过journalctl
或类似的方式了解发生了什么,但我不认为普通Ubuntu桌面用户会想到这样做。
例如,通常当一个进程通过致命的信号或类似的信号崩溃时,崩溃报告员会告诉用户出了问题。对于被OOM守护进程杀死的进程,不应该有类似的工具吗?
编辑以添加请求的输出re: space;据我所知,这些只是Ubuntu22.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
发布于 2022-08-16 07:01:37
我要指出的是,systemd-oomd不只是杀死oom (内存不足和交换) --如果是这样的话,那可能就没问题了。它(也或者完全,不确定哪一个.)根据它认为过度的交换活动(我在我身上找到的消息表示死亡(gnome-终端的范围)“由于内存压力”(片)“是58.97% > 50.00% >20岁的回收活动。
我(这在Ubuntu20.04和22.04中是一样的)在我不在的时候整天运行一些垃圾,它会逐渐交换打开的firefox的一些拷贝,当我回家时,使用firefox,这时它必须把它的一部分交换回来。这很好,但是system-oomd (在升级到Ubuntu22.04之后的几天内,我就发生了两次这种情况),它决定不太好,用屏幕会话杀死了我的gnome终端,屏幕会话包括8或9个shell、VirtualBox、一些s3ql安装等,它们都在运行。我真的很担心我升级的东西出了问题,而gnome终端和它们自己也崩溃了,很高兴看到情况并非如此。谢谢系统!无论如何,至少它很容易被禁用!
编辑: FYI,我能够运行:
sudo apt remove systemd-oomd
也是。它显然是直接安装的,不是作为systemd包的依赖程序或类似的东西安装的。
发布于 2022-04-27 12:51:20
对于32G内存,默认的2G /swapfile通常就足够了。然而,如果您正在运行一些需要内存的大型应用程序,或者有大量的数据集,那么它可能需要更多的交换,所以我们将把它从2G增加到4G,看看这是否有帮助。不要禁用OOM。
注意:不正确地使用rm
和dd
命令会导致数据丢失。建议复制/粘贴。
在terminal
..。
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 32G RAM and 4G swap
使用sudo -H gedit /etc/fstab
或sudo pico /etc/fstab
编辑/etc/fstab。
确认/etc/fstab中的/swapfile行.并确认没有其他“交换”线..。用这一行的空格..。确认没有标签..。
/swapfile none swap sw 0 0
reboot # reboot and verify operation
发布于 2022-09-10 21:20:29
我有一个和hwertz描述的非常相似的问题。Firefox导致整个系统崩溃。
由于既没有增加交换空间,也没有禁用/屏蔽systemd-oomd服务,所以我想在这里添加我的解决方案。
在我的例子中,它是一个相当老的系统与NVIDIA Geforce 9500 GT。这张卡需要340驱动程序,它不再包含在Ubuntu22.04中。从20.04升级到现在,我已经出现了问题(没有登录屏幕,..)我不得不删除所有NVIDIA*软件包
sudo apt清除nvidia*
好的使用nouveau解决了登录问题,但触发了Firefox冻结。最后,在我的旧系统上,问题的解决方案是为Ubuntu22.04获得一个工作的340驱动版本。
注:我不确定这是否也会发生在一个新的安装。可能是由于从20.04升级而导致系统配置错误。
https://askubuntu.com/questions/1404888
复制相似问题