Manchmal ist die Servergeschwindigkeit irgendwie langsam. Als ich den Status mit top, ps usw. überprüfte, schien es, als würde ich Swap verwenden.
Swap: 1.0G 278M 742M
Ich habe mich gefragt, ob es besser wäre, den Speicher zu vergrößern, aber der gesamte freie Befehl sah so aus.
onodes@Balthazar:~$ free -h
total used free shared buff/cache available
Mem: 985M 309M 311M 33M 364M 495M
Swap: 1.0G 278M 742M
Wie Sie aus den verfügbaren Daten ersehen können, wurden 278 MB ausgelagert, während die verfügbare Menge an physischem Speicher ausreichend war.
Swap hier ist eine Funktion zum Verschieben der Daten im Speicher auf eine Festplatte (HDD / SSD usw.), wenn der physische Speicher nicht ausreicht. Mit anderen Worten, die Idee ist, dass kein Swap stattfindet, wenn nicht genügend physischer Speicher vorhanden ist.
swappiness Swappiness wird als Hintergrund für die Verwendung von Swap festgelegt, obwohl der physische Speicher frei ist. Swappiness ist ein Parameter des Linux-Kernels und wird verwendet, um die Häufigkeit der Swap-Verarbeitung zu ändern und anzupassen. Es wird unter Linux mit Linux-Kernel 2.6 oder höher implementiert und übernommen (ich denke, es scheint weltweit der Fall zu sein ...).
onodes@Balthazar:~$ cat /proc/sys/vm/swappiness
60
Wenn nicht angepasst, sollten standardmäßig 60 enthalten sein. Dieser Wert kann von 0 bis 100 eingestellt werden. Je größer der Wert, desto einfacher ist der Austausch. Wenn Sie den Wert auf 0 setzen, wird Swap erst verwendet, wenn der Speicher erschöpft ist.
Wert | Frequenz |
---|---|
swappiness = 0 | Nicht tauschen, bis der Speicher voll ist (erschöpft) |
swappiness = 60 | Standard |
swappiness = 100 | Positiv tauschen. Stufe, die die Gesamtleistung beeinflusst |
Wenn Sie nur hier schauen, scheint es, dass das Setzen von swappiness = 0 die Leistung verbessert, indem der Speicher hart verwendet wird. Wenn es jedoch auf 0 gesetzt ist, tritt diesmal leicht OOM Killer auf und es kommt zu einem Prozessabbau. Übertreiben Sie es also nicht.
Lassen Sie uns diesmal ein wenig entspannen und Swappiness = 10 setzen.
Das Betriebssystem ist Ubuntu 18.04.
$ sudo vim /etc/sysctl.conf
Unten hinzugefügt
vm.swappiness = 10
Und reflektieren
$ sudo sysctl -p
vm.swappiness = 10
Schlagen Sie frei.
onodes@Balthazar:~$ free -h
total used free shared buff/cache available
Mem: 985M 384M 181M 56M 419M 396M
Swap: 1.0G 276M 744M
Der Wert von Swap hat sich nicht geändert ... Swap wird hier nicht veröffentlicht. ** Wenn im realen Speicher mehr freier Speicherplatz vorhanden ist als die Kapazität des verwendeten Swaps **, schalten Sie den Swap aus und geben Sie ihn frei, und schalten Sie ihn dann wieder ein. Wenn der reale Speicher niedrig ist, stoppen Sie verschiedene Prozesse, um Platz im realen Speicher zu schaffen. Wenn der Speicher in diesem Umfang effektiv genutzt wird, halte ich die Arbeit dieses Artikels für unnötig.
onodes@Balthazar:~$ free -h
total used free shared buff/cache available
Mem: 985M 578M 95M 34M 311M 224M
Swap: 1.0G 0B 1.0G
Es ist 0B, weil es kurz nach dem Freigeben des Swaps ist. Von hier aus wollen wir weitermachen.
Recommended Posts