KSysGuard meldet die Speichernutzung falsch

KSysGuard meldet die Speichernutzung falsch

Vor kurzem ist mir aufgefallen, dass mein Laptop etwas langsam läuft und die Festplattenanzeige stark flackert. Es ist ein i7 mit SSD und 12 GB RAM, daher erwarte ich beim Surfen keine große Verlangsamung.

Das letzte Mal hat es mich gestört, also habe ich einen kurzen Blick in den Systemmonitor (KSysGuard) geworfen und dort wurde angezeigt, dass meine 2 GB große Swap-Partition zu 100 % ausgelastet war, der physische Speicher jedoch nur 4,8 GB von 11,6 (das ist der Punkt, zu dem das Diagramm führt). Also dachte ich, ich würde versuchen, den Swap zu leeren, indem ich ihn aus- und wieder einschalte ( swapoff -a, swapon -a), aber das Ausschalten des Swaps schlug aufgrund von unzureichendem RAM fehl.

Das hat mich verwirrt, da ich laut KSysGuard etwa 7 GB frei haben sollte, also dachte ich, ich schaue mal, was top zu sagen hat. Top zeigte etwa 150 MB freien RAM und 2048/2048 MB belegten Swap. Kein Wunder, dass es etwas langsam lief!

Warum meldet KSysGuard die Speichernutzung so niedrig und wie kann ich verhindern, dass es Lügen erzählt?

Antwort1

Gemäß den Kommentaren habe ich meine Auslagerungsdatei wie folgt von 2 GiB auf 6 GiB vergrößert:

sudo swapoff -a
sudo rm /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=6144
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Die obigen Befehle schalten das Swapping aus, indem sie Seiten zurück in den physischen Speicher verschieben, die Auslagerungsdatei entfernen, eine neue 6-GiB-Datei mit dem Namen „Swapfile“ erstellen, die Berechtigungen auf „Nur Root“ festlegen, die Datei für die Auslagerung konfigurieren und schließlich das Swapping mit der neuen Datei wieder aktivieren.

Ich habe dann vm.swappiness=70am Ende des vorletzten Abschnitts Folgendes hinzugefügt /etc/sysctl.conf, um das Auslagern in die Auslagerungsdatei etwas aggressiver zu gestalten (um etwas physischen Speicher zu sparen).

Um jedoch die Frage zu beantworten, warum KSysGuard anscheinend über die verwendete RAM-Menge lügt, liegt es daran, dass das Standarddiagramm „Speicher- und Swap-Verlauf“ tatsächlich nur Daten vom Sensor „Anwendungsspeicher“ anzeigt. Um dies zu beheben, habe ich in KSysGuard eine Registerkarte namens „Speicher“ hinzugefügt und zwei Diagramme eingefügt – eines für den physischen Speicher und eines für den Swap. Das Diagramm des physischen Speichers hat die folgenden Sensoren konfiguriert: Verwendeter Speicher, Freier Speicher, Pufferspeicher, Cache-Speicher. Nur Verwendet und Cache werden wirklich benötigt, aber die Metrik Verwendet gibt an, wie viel Speicher tatsächlich verwendet wurde.

Antwort2

Aus den Kommentaren...

Hinweis: Denken Sie daran, dass ungenutzter RAM für Datei- und Festplattenpuffer verwendet wird.

Das wirkliche Problem besteht darin, dass Ihr 2G-Swap-Speicher zu klein ist und Ihre Festplatte überlastet ist.

Ich würde Ihren Swap auf mindestens 6 G erhöhen und Ihre vm.swappiness vom Standardwert 60 auf 80 ändern.

Um verschiedene Einstellungen von vm.swappiness zu testen, verwenden Sie sudo sysctl vm.swappiness=80. vm.swappiness-Werte, die größer als der Standardwert 60 sind, nutzen den Swap-Speicher stärker. Werte unter 60 nutzen den RAM stärker.

Um es dauerhaft zu machen, bearbeiten /etc/sysctl.confund fügen Sie es vm.swappiness=80am Ende hinzu und starten Sie dann neu.

verwandte Informationen