Die Antwort auf die Hauptfrage steht weiter unten - aber zuerst eine Warnung zu Mirras Vorschlag:
Seien Sie dabei vorsichtig:
In:/proc/sys/vm/overcommit_memory versuche ich, dort 2 zu platzieren.
In diesem Fall erhalten alle Prozesse, die Speicher vom Betriebssystem anfordern, wenn vmcom größer als vmlim ist, Fehler, selbst wenn physischer Speicher verfügbar ist (Ich habe viele Fehler und Fehler bei grundlegenden Systemanwendungen wie compiz).Und wegen:
vmlim =SWAP_Größe + 0,5 * RAM_Größe.
wobei 0,5 (50%) der Standardwert für den Parameter /proc/sys/vm/overcommit_ratio ist, können Sie leicht viele Fehler wie mich bekommen.
Antwort zur Hauptfrage:Es ist besser, Änderungen im Parameter overcommit_memory auf den Standardwert zurückzusetzen (0 für mich (Ubuntu 12.04 LTS), kann aber für andere Betriebssysteme 1 sein). Gemäß dem großartigen Artikel können wir den tatsächlich von Prozessen verwendeten Speicher berechnen:
MemoryUsed ~ tot – (Cache + Buff + Free) ~ 23,6 G – (6,7 G + 0,067 G + 0,136 G) ~ 16,7 G
Daher werden nur 16,7 GB tatsächlich von Prozessen verwendet (von 23,6 GB installiertem RAM) und die rote Linie in der oberen Ausgabe kann ignoriert werden.