Wenn ich den Swap- Wert auf einen anderen konfiguriere, z. B . : 60 bis 0, muss ich den Computer immer neu starten, damit die Änderungen wirksam werden? Auch beim Ändern mit:
sysctl -w vm.swappiness=0
Alles ist in der Wikipedia-Seite, die Sie gaben, gut erklärt.
# Set the swappiness value as root
echo 10 > /proc/sys/vm/swappiness
# Alternatively, run this as a non-root user
# This does the same as the previous command
sudo sysctl -w vm.swappiness=10
# Verify the change
cat /proc/sys/vm/swappiness
10
Zu diesem Zeitpunkt verwaltet das System den Swap so, wie Sie ihn gerade konfiguriert haben. ABER wenn Sie JETZT neu starten, wird Ihre Änderung vergessen und das System arbeitet mit dem Standardwert (unter der Annahme von 60, was bedeutet, dass der Swap bei 40% beginnt). Belegung des Arbeitsspeichers).
Sie müssen die folgende Zeile hinzufügen /etc/sysctl.conf
, um Ihre Änderung dauerhaft beizubehalten:
vm.swappiness = 10
Hoffe es ist jetzt klarer für dich!
-w
Schalter die Änderung schreiben soll. Man würde denken, dass das Hinzufügen der Standardzeile in sysctl.conf nach dem Schreiben nicht notwendig wäre.Das Gegenteil ist der Fall: Durch einen Neustart wird die Swap-Funktion auf den Standardwert zurückgesetzt. Damit es auch nach einem Neustart erhalten bleibt, müssen Sie eine Direktive in ein Boot-Skript einfügen oder die im Wikipedia-Artikel empfohlene Methode anwenden, indem Sie Folgendes hinzufügen:
An
/etc/sysctl.conf
(oder eine/etc/sysctl.d
Datei), wo??
ist der Wert, den Sie verwenden möchten. Beachten Sie, dass das Hinzufügen dieser Option zu keiner Änderung führt.quelle
Die akzeptierte Antwort ist korrekt, es wird jedoch empfohlen, eine separate "sysctl" -Konfigurationsdatei zu verwenden, damit Sie nicht versehentlich andere Einstellungen überschreiben (was passieren kann, wenn Sie die globale "sysctl.conf" überschreiben).
Diejenigen, die bereits die globale Konfigurationsdatei "/etc/sysctl.conf" geändert haben, möchten möglicherweise Zeilen entfernen, die diesen "swappiness" -Wert aus dieser Datei definieren. Sie können diesen Befehl verwenden, um diese Zeilen aus der globalen Konfigurationsdatei zu entfernen (unter Beibehaltung von Kommentaren):
Um den neuen Wert anzuwenden, geben Sie
sysctl
an, dass Sie ihn verwenden möchten:Oder wenden Sie alle Einstellungen an, einschließlich der Austauschbarkeit:
Überprüfen Sie es:
quelle
Ich habe festgestellt, dass auf einem CentOS-Rechner das
vm.swappiness
eingestellt wurde/usr/lib/tuned/virtual-guest/tuned.conf
.Bestimmen Sie, wo wird der Standard gesetzt wird , indem Sie durch
tuned
Konfigurationsdateien :Nach dem Aktualisieren der Standardeinstellungen kann die aktuelle Swap-Funktion weiterhin eingestellt werden, ohne dass ein Neustart erforderlich ist :
und getestet von:
quelle
Benutzeränderungen an werden
sysctl
nach Konvention in Dateien mit dem Präfix eingefügt,60-
sodass der Dateiname so sein sollte/etc/sysctl.d/60-swappiness.conf
. Executeservice procps start
als root eine Reread von Konfigurationswerten zu erzwingen (kein Neustart erforderlich).quelle