当 RAM 使用量激增时,Ubuntu 会死机

黑体

这个问题持续了一段时间,但是我从 18.04 升级到 20.04 后,感觉它变得非常频繁(而不是偶尔发生,几乎每天都会发生)。

每当事情发生时 - 在我看来就像是当 RAM 使用率变高时(我曾看到人们描述了磁盘 I/O 的类似问题,但情况似乎并非如此) - 系统边界冻结。在第一分钟内,系统会剧烈震动,我有很短的机会移动现在抖动的鼠标光标以快速关闭导致问题的浏览器选项卡或应用程序。如果我不这样做,此时系统几乎永久冻结,顶部栏上的系统时钟停止更新,无论发生什么都不会解冻,我需要进行硬重置。

以前,当我打开太多标签时,这种情况经常发生在 Firefox 上,但我安装了一个标签限制器扩展来缓解这种情况。但它一直在发生,当我在 GIMP 中处理更大的图像时,当我浏览一些无限滚动的网站时,它(有时)会发生,比如 DeviantArt 重新设计或一些视频网站。我只是失去了前进半小时上的像素艺术作品,我在GIMP工作。

这使我的系统使用起来非常烦人。我不想这么说,但我在双启动时使用的 Windows 10 更稳定 - 这就是说,因为 W10 是我用过的最差的操作系统。

这是一个 inxi -F 转储:

System:
  Host: shino-ProLiant-ML310-G5p Kernel: 5.4.0-66-generic x86_64 bits: 64 
  Desktop: Gnome 3.36.4 Distro: Ubuntu 20.04.2 LTS (Focal Fossa) 
Machine:
  Type: Desktop System: HP product: ProLiant ML310 G5p v: N/A 
  serial: <superuser/root required> 
  Mobo: N/A model: N/A serial: N/A BIOS: HP v: W08 date: 10/25/2010 
CPU:
  Topology: Dual Core model: Intel Xeon E3120 bits: 64 type: MCP 
  L2 cache: 6144 KiB 
  Speed: 1995 MHz min/max: N/A Core speeds (MHz): 1: 1995 2: 1995 
Graphics:
  Device-1: AMD ES1000 driver: N/A 
  Device-2: NVIDIA G86 [Quadro NVS 290] driver: nvidia v: 340.108 
  Display: x11 server: X.Org 1.20.9 driver: nvidia 
  unloaded: fbdev,modesetting,nouveau,vesa resolution: 1440x900~75Hz 
  OpenGL: renderer: Quadro NVS 290/PCIe/SSE2 v: 3.3.0 NVIDIA 340.108 
Audio:
  Device-1: Generalplus type: USB driver: hid-generic,snd-usb-audio,usbhid 
  Sound Server: ALSA v: k5.4.0-66-generic 
Network:
  Device-1: Broadcom and subsidiaries NetXtreme BCM5715 Gigabit Ethernet 
  driver: tg3 
  IF: enp3s4f0 state: down mac: 9c:8e:99:35:15:80 
  Device-2: Broadcom and subsidiaries NetXtreme BCM5715 Gigabit Ethernet 
  driver: tg3 
  IF: enp3s4f1 state: up speed: 1000 Mbps duplex: full 
  mac: 9c:8e:99:35:15:81 
Drives:
  Local Storage: total: 1.82 TiB used: 594.46 GiB (31.9%) 
  ID-1: /dev/sda model: LOGICAL VOLUME size: 1.82 TiB 
RAID:
  Hardware-1: Hewlett-Packard Smart Array G6 controllers driver: hpsa 
Partition:
  ID-1: / size: 910.88 GiB used: 594.46 GiB (65.3%) fs: ext4 dev: /dev/sda5 
Sensors:
  System Temperatures: cpu: 40.0 C mobo: N/A gpu: nvidia temp: 68 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 288 Uptime: 2h 17m Memory: 3.84 GiB used: 2.86 GiB (74.6%) 
  Shell: bash inxi: 3.0.38 
特伦斯

https://en.wikipedia.org/wiki/Memory_paging#Swappiness它指出:

Swappiness 是一个 Linux 内核参数,用于控制在无法从空闲内存中满足内存分配请求时,换出运行时内存的相对权重,而不是从系统页面缓存中删除页面。Swappiness 可以设置为 0 到 200(含)之间的值。[18] 较低的值会导致内核倾向于从页面缓存中驱逐页面,而较高的值会导致内核倾向于换出“冷”内存页面。默认值为 60;如果需要换回冷页面(例如,当与一个空闲的程序交互时),将它设置得更高可能会导致高延迟,而将它设置得更低(甚至 0)可能会导致当文件被逐出时高延迟缓存需要再次读取,但响应速度更快的程序。交换还会进一步减慢 HDD 的速度,因为它涉及大量随机写入,而 SSD 则不存在此问题。当然,默认值在大多数工作负载中都能很好地工作,但是桌面和交互式系统对于任何预期任务可能希望降低设置,而批处理和交互性较低的系统可能希望增加它。 [19]

由于 Ubuntu 默认vm.swappiness值为60,我建议使用较低的值,即10,以便 RAM 中的非活动页面对交换不那么积极。

运行以下命令以设置值10如果 .conf 文件中尚未设置值):

echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf

如果设置已经存在,您可以复制并粘贴以下内容以将值更改为10

sudo sed -i "s/$(awk '/vm.swappiness/ {print $0}' /etc/sysctl.conf)/vm.swappiness\ =\ 10/" /etc/sysctl.conf

然后激活更改:

sudo sysctl -p

您还可以尝试不同的值,以查看最适合您的值。

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用键盘会导致每个程序死机

为什么Android应用RAM使用量会永远稳定增加?甚至Hello World应用程序

如何减少Logstash的RAM使用量?

为什么下载Bittorrent时路由器会死机?

使用SSD会减少RAM缓存吗?

当我复制或剪切任何东西时,Ubuntu 会死机

Redis:以最少的RAM使用量识别多次出现的密钥

Tomcat 8 系统 RAM 的最大使用量

减少Python脚本中的RAM使用量

我的服务器正在吃掉 ram 的使用量

IPC的RAM使用量是否是程序的RAM使用量的一部分

Ruby 2.1.3安装在Ubuntu 14.04.1中会死机吗?

Firefox 或 Discord 没有声音,它们偶尔会死机。- Ubuntu 18.04

如果libvirtd / virtlogd正在运行,则在挂起时我的Dell Latitude会死机

当任务管理器显示的累积使用量-应该是-小于12%时,将使用100%的RAM

AWS Elasticsearch CPU 使用量激增

Ubuntu 64位会支持2 GB RAM的PC吗?

当计算机关闭时,RAM的内容会怎样?

没有分配新内容时,Pypy内存使用量会增加

在写入已安装目录中的文件时,docker容器会不断增加内存使用量

写入文件时,内存使用量会随着时间增加

在循环中使用Keras时如何防止内存使用量激增

如何为/ tmp目录使用RAM存储,以及如何为其设置最大RAM使用量?

即使CPU负载低,可用RAM和可用空间不足,Ubuntu有时也会挂起

虚拟大小高但RAM和GPU内存使用量少的进程的缺点

Windows 2012 R2 Server Core减少/最小的RAM使用量(对于VM)

为什么在Linux中内存使用量大于物理RAM?

任务管理器:Windows XP RAM使用量未累加

Google Cloud Platform App Engine节点弹性实例Ruby的RAM使用量为50%