/proc/sys/vm/min_free_kbytes :Dies steuert die Speichermenge, die für die Verwendung durch spezielle Reserven freigehalten wird, einschließlich „atomarer“ Zuweisungen (solche, die nicht auf die Rückforderung warten können).
Eine zu niedrige Einstellung von vm.min_free_kbytes verhindert, dass das System Arbeitsspeicher zurückfordert. Dies kann dazu führen, dass sich das System aufhängt und OOM mehrere Prozesse beendet.
Wenn Sie diesen Parameter jedoch auf einen zu hohen Wert setzen (5-10 % des gesamten Systemspeichers), wird Ihr System sofort über genügend Arbeitsspeicher verfügen. Linux ist so konzipiert, dass es den gesamten verfügbaren RAM zum Zwischenspeichern von Dateisystemdaten verwendet. Das Festlegen eines hohen min_free_kbytes-Werts führt dazu, dass das System zu viel Zeit damit verbringt, Speicher zurückzufordern.
Aus Sicht des Betriebssystems sollte der Parameter vm.min_free_kbytes anfänglich in der Größenordnung von 0,5 % des gesamten physischen Speichers eingestellt werden. Siehe MemTotal Zeile in /proc/meminfo Bericht als einen Ort, um diesen Wert zu finden.
Es gibt keinen besten Wert, der in jedem Szenario optimal funktioniert, daher muss dieser Wert möglicherweise angepasst werden. Vermeiden Sie es, eine Einstellung zu versuchen, die 5 % des physischen Arbeitsspeichers überschreitet, da dies zu sofortigen Speichermangelzuständen führen kann. Der neue Wert sollte wie folgt hinzugefügt werden:
1. Öffnen Sie die Datei /etc/sysctl.conf.
# vi /etc/sysctl.conf
2. Fügen Sie die folgende Zeile hinzu/ändern Sie sie:
vm.min_free_kbytes = [value]
[Wert] sollte durch den tatsächlich berechneten Wert ersetzt werden.
3. Speichern Sie die Datei und führen Sie den folgenden Befehl aus, um die Änderungen zu laden.
# sysctl -p /etc/sysctl.conf