Ubuntu friert ein, wenn die RAM-Auslastung ansteigt

Ubuntu friert ein, wenn die RAM-Auslastung ansteigt

Dieses Problem bestand eine Zeit lang, aber es fühlt sich an, als ob es extrem häufig auftrat (statt ab und zu passiert es fast jeden Tag), nachdem ich von 18.04 auf 20.04 aktualisiert habe.

Immer wenn etwas passiert – mir scheint, als ob die RAM-Auslastung hoch wird (ich habe Leute gesehen, die ähnliche Probleme mit Festplatten-E/A beschrieben haben, aber das scheint nicht der Fall zu sein) – friert das System fast ein. In der ersten Minute ruckelt das System einfach drastisch und ich habe ein kurzes Zeitfenster, um den jetzt zittrigen Mauszeiger zu bewegen, um die Browser-Registerkarte oder Anwendung, die das Problem verursacht, schnell zu schließen. Wenn ich das nicht tue, friert das System an diesem Punkt praktisch dauerhaft ein, die Systemuhr in der oberen Leiste wird nicht mehr aktualisiert und es lässt sich nicht mehr auftauen, egal was passiert, und ich muss einen Kaltstart durchführen.

Früher passierte dies bei Firefox häufig, wenn ich zu viele Tabs geöffnet hatte, aber ich habe eine Tab-Limiter-Erweiterung installiert, um dies zu mildern. Aber es passiert einfach immer wieder, es passiert (manchmal), wenn ich in GIMP an einem größeren Bild arbeite und wenn ich auf einigen Websites mit unendlichem Scrollen surfe, wie z. B. DeviantArt Redesign oder einigen Video-Websites. Ich habe gerade eine halbe Stunde Fortschritt bei einem Pixel-Art-Stück verloren, an dem ich in GIMP gearbeitet habe.

Dadurch wird die Nutzung meines Systems wirklich mühsam. Ich sage es nur ungern, aber Windows 10, das ich im Dual-Boot-Modus verwende, ist stabiler – und das will etwas heißen, denn W10 ist das schlechteste Betriebssystem, das ich je verwendet habe.

Hier ist ein inxi -F-Dump:

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 

Antwort1

Aushttps://en.wikipedia.org/wiki/Memory_paging#SwappinessEs sagt aus:

Swappiness ist ein Parameter des Linux-Kernels, der die relative Gewichtung steuert, die dem Auslagern des Laufzeitspeichers im Gegensatz zum Löschen von Seiten aus dem Systemseitencache gegeben wird, wenn eine Speicherzuweisungsanforderung nicht aus freiem Speicher erfüllt werden kann. Swappiness kann auf Werte zwischen 0 und 200 (einschließlich) eingestellt werden.[18] Ein niedriger Wert bewirkt, dass der Kernel bevorzugt Seiten aus dem Seitencache auslagert, während ein höherer Wert bewirkt, dass der Kernel bevorzugt „kalte“ Speicherseiten auslagert. Der Standardwert ist 60; ein höherer Wert kann zu hohen Latenzen führen, wenn kalte Seiten wieder eingelagert werden müssen (z. B. bei der Interaktion mit einem Programm, das im Leerlauf war), während ein niedrigerer Wert (sogar 0) zu hohen Latenzen führen kann, wenn Dateien, die aus dem Cache ausgelagert wurden, erneut gelesen werden müssen, aber reaktionsschnellere Programme. Swapping kann Festplatten auch weiter verlangsamen, da es viele zufällige Schreibvorgänge beinhaltet, während SSDs dieses Problem nicht haben. Sicherlich funktionieren die Standardwerte bei den meisten Arbeitslasten gut, aber bei Desktops und interaktiven Systemen kann es für jede erwartete Aufgabe sinnvoll sein, die Einstellung während der Stapelverarbeitung zu verringern, und bei weniger interaktiven Systemen kann es sinnvoll sein, sie zu erhöhen.[19]

Da Ubuntu standardmäßig einen vm.swappinessWert von 60verwendet, empfehle ich einen niedrigeren Wert, d. h. 10, damit die inaktiven Seiten im RAM gegenüber dem Swap weniger aggressiv sind.

Führen Sie Folgendes aus, um einen Wert von 10(wenn in der .conf-Datei noch kein Wert gesetzt ist):

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

Wenn die Einstellung bereits vorhanden ist, können Sie Folgendes kopieren und einfügen, um den Wert wie folgt zu ändern 10:

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

Aktivieren Sie anschließend die Änderungen:

sudo sysctl -p

Sie können auch verschiedene Werte ausprobieren, um zu sehen, was für Sie am besten funktioniert.

Hoffe das hilft!

verwandte Informationen