Frage Wie konfiguriere ich Swappiness?


Ich brauche eine Schritt-für-Schritt, einfache und einfache Möglichkeit, Swappiness zu konfigurieren.


298
2018-02-13 18:31


Ursprung


Einzeiler sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf" - redanimalwar
@redanimalwar müssen Sie auch ausführen sudo sysctl -p um den neuen Swappiness-Wert aus der Datei sysctl.conf zu laden, ansonsten gilt die Änderung nur beim nächsten Neustart. - waldyrious


Antworten:


Der Linux-Kernel bietet eine einstellbare Einstellung, die steuert, wie oft die Swap-Datei verwendet wird, Swappiness genannt.

Eine Swappiness-Einstellung von Null bedeutet, dass die Festplatte vermieden wird, es sei denn, dies ist absolut notwendig (Sie haben nicht genügend Arbeitsspeicher), während die Swappiness-Einstellung von 100 bedeutet, dass Programme fast sofort auf die Festplatte ausgelagert werden.

Das Ubuntu-System wird standardmäßig mit 60 geliefert, was bedeutet, dass die Auslagerungsdatei ziemlich oft verwendet wird, wenn die Speicherauslastung etwa die Hälfte meines Arbeitsspeichers beträgt. Sie können den Swappiness-Wert Ihres eigenen Systems überprüfen, indem Sie Folgendes ausführen:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Da ich 4 GB RAM habe, möchte ich das auf 10 oder 15 reduzieren. Die Auslagerungsdatei wird dann nur verwendet, wenn meine RAM-Nutzung in der Nähe ist 80 oder 90 Prozent. Um den Swappiness-Wert des Systems zu ändern, öffnen Sie /etc/sysctl.conf wie Wurzel. Dann ändern oder fügen Sie diese Zeile zur Datei hinzu:

vm.swappiness = 10

Starten Sie neu, damit die Änderung wirksam wird.

Sie können den Wert auch ändern, während das System noch läuft:

sysctl vm.swappiness=10

Sie können Ihren Swap auch löschen, indem Sie ihn ausführen swapoff -a und dann swapon -a als root statt neu zu starten, um den gleichen Effekt zu erzielen.

Um den Tausch zu berechnen Formel:

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

so ist insgesamt 3950/100 = 39,5 * 10 = 395

Also was es bedeutet ist, dass wenn 10% (395 MB) RAM ist übrig, dann wird es Swap verwenden.


Hilfe . Ubuntu. Wechsel

Was ist Swappiness?

Der Swappiness-Parameter steuert die Tendenz des Kerns, Prozesse aus dem physikalischen Speicher auf die Swap-Disk zu verschieben. Da Festplatten viel langsamer als RAM sind, kann dies zu langsameren Antwortzeiten für System und Anwendungen führen, wenn Prozesse zu aggressiv aus dem Arbeitsspeicher verschoben werden.

  • swappiness kann einen Wert zwischen 0 und 100 haben.
  • swappiness=0:
    • Kernel Version 3.5 und neuer: Deaktiviert die Swappiness.
    • Kernel-Version älter als 3.5: verhindert, dass Prozesse so lange wie möglich aus dem physikalischen Speicher ausgelagert werden.
  • swappiness=1:
    • Kernel-Version 3.5 und älter: minimale Swappiness, ohne es vollständig zu deaktivieren.
  • swappiness=100:
    • Weist den Kernel an, Prozesse dynamisch aus dem physischen Speicher auszulagern und sie in den Auslagerungscache zu verschieben.

Sehen http://en.wikipedia.org/wiki/Swappiness.

Die Standardeinstellung in Ubuntu ist swappiness=60. Das Reduzieren des Standardwerts von Swappiness wird wahrscheinlich die Gesamtleistung für eine typische Ubuntu-Desktop-Installation verbessern. Ein Wert von swappiness=10 wird empfohlen, aber fühlen Sie sich frei zu experimentieren.


Beispiel

Begann mit Swap at 91%:

enter image description here Wie habe ich mein System & VM konfiguriert, um RAM bei zu verwenden 90%, beim 90% Es gab kein Tauschen.

Danach habe ich einige Anwendungen wie Firefox & Shutter geöffnet, und es begann Swapping, weil die RAM-Auslastung höher ist 90%.


453
2018-02-13 18:33



Swappiness von 100 führt nicht dazu, dass Programme sofort ausgelagert werden, noch wird ein Wert von 60 oder 90 Swap verwendet, wenn der RAM 60 oder 90% voll ist. Es ist ein Verhältnis der Vorliebe dafür, Seiten aus dem Cache zu stehlen oder Dinge auszulagern, um etwas Speicher freizugeben, wenn es nicht genug ist. Ein niedriger Wert bevorzugt stark, Seiten aus dem Cache zu stehlen, und ein hoher Wert zieht es vor, Seiten auszuwechseln. Die Einstellung hat nur eine Auswirkung, wenn der Speicher (fast) vollständig genutzt wird und der Kernel wählen muss, wie er etwas freigibt. - psusi
Sie müssen darauf hinweisen, dass der RAM, der NICHT durch das Ausführen von Programmen belegt ist, als Disketten-Cache verwendet wird. Indem Sie Swappiness verringern, erhöhen Sie die Wahrscheinlichkeit, dass ein Programm nicht ausgelagert wird, sondern verringern Sie gleichzeitig die Größe Festplattencache, der den Festplattenzugriff verlangsamen kann. Daher sind die Auswirkungen dieser Einstellung auf die tatsächliche Leistung nicht so einfach ... Sie können natürlich gerne experimentieren, aber ich vermute, dass die Standardeinstellungen von Leuten gesetzt werden, die genug in dem Thema verstehen :) - Sergey
@Sergey und die Ironie dabei ist, dass diejenigen mit wenig RAM am ehesten versuchen, alle Tricks zu nutzen, um die Leistung zu steigern, und eher die Leute sind, für die 60 oder sogar mehr die beste Zahl sind. Diejenigen von uns, die es auf 10 setzen, weil wir Tonnen RAM haben, gewinnen nicht so viel wie sie verlieren, wenn sie dies tun. - Jon Hanna
@Freedom_Ben: Siehe linuxatemyram.com :) - Sergey
Nur eine ähnliche Diskussion hier zu verlassen - unix.stackexchange.com/questions/88693/ ... - Elijah Lynn