Lösung 1:
Ich würde empfehlen, den normalen Linux-Memory-Control-Swap in den Dingen zuzulassen, die tatsächlich verwendet werden, sobald sie verwendet werden.
Das einzige, woran ich denken kann, ist, Swap auszuschalten und dann wieder einzuschalten
sudo swapoff -a
sudo swapon -a
Das setzt voraus, dass Sie genügend freien physischen Speicher haben, um alles im Swap aufzunehmen ...
Lösung 2:
Sie können es so einstellen, dass es eine Zahl zwischen 0 und 100 in /proc/sys/vm/swappiness
wiedergibt .
Dieses Steuerelement wird verwendet, um zu definieren, wie aggressiv der Kernel Speicherseiten austauschen wird. Höhere Werte erhöhen die Aggressivität, niedrigere Werte verringern die Swap-Menge . Ein Wert von 0 weist den Kernel an, keinen Austausch zu initiieren, bis die Menge an freien und dateigestützten Seiten kleiner als die obere Grenze in einer Zone ist.
Der Standardwert ist 60.
Lösung 3:
Linux leistet gute Arbeit bei der Speicherverwaltung, und Sie sollten ihm nicht im Weg stehen. Die (bereits erwähnte) vm.swappiness-Einstellung steht ihm nicht im Weg. Es ist wahrscheinlicher, dass Sie auf seltsame Probleme stoßen, wenn Sie Dinge auf andere Weise tun.
Was haben Sie gestartet, das so speicherhungrig war? Kann es gestimmt werden? Wenn es keine eigenen Anweisungen zur Speicherbegrenzung gibt, können Sie sich auch ulimit ansehen.
Lösung 4:
Wenn Sie den Speicher für alle Ihre Anwendungen zur Verfügung haben, ist es in Ordnung, die Auslagerung auf 0 zu setzen, damit die Dinge nicht ausgelagert werden. Zum Beispiel ist qemu-kvm ein großes Ziel für den Austausch von VMM, da es die meiste Zeit "scheinbar" im Leerlauf ist. Ich habe gesehen, dass bis zu 80% des Speichers eines qemu-kvm-Speichers in den Swap geschrieben werden. Die in qemu-kvm ausgeführten VMs reagieren nahezu nicht mehr, da ihnen der Swap-Speicher ausgeht (obwohl der Gast keine Ahnung hat, dass dies geschieht). Die Gast-VM wird denken, dass sie am besten funktioniert, obwohl sie sich in Wahrheit schrecklich hinzieht. Wenn ich eine Reihe von VMs „aufwache“ und anfange, Dinge zu tun, kann dies den Lastdurchschnitt auf über 30 erhöhen, selbst auf Hardware der Enterprise-Klasse mit ausreichend schnellem Speicher und Festplatte. Ich schätze, das ist ein Fehler im vorkonfigurierten qemu-kvm-Design.
Hoffe, das hilft jemandem.