Warum ist Linux-Swap so langsam?

Warum ist Linux-Swap so langsam?

Ich bin Softwareentwickler und verbrauche ab und zu versehentlich den gesamten verfügbaren RAM mit einem meiner Programme. Das Betriebssystem tauscht dann alles andere aus, was ich gerade verwende (z. B. Webbrowser, Entwicklungs-IDE, Audioplayer usw.). Nachdem ich es geschafft habe, mein fehlerhaftes Programm zu beenden, ist andere Software, die auf meinem Computer läuft, für einige Minuten nahezu unbrauchbar und wird nicht von selbst zurückgetauscht, ohne dass ich die Software tatsächlich verwende (und nach jedem Klick viele Sekunden warte). Ich kann einfach sudo swapoff -aalle Speicherseiten zurück in den RAM zwingen, aber das dauert überraschend lange. Ich kann die Swap-Nutzung mit dem freeBefehl überwachen. Der Swap wird mit etwa 1–2 MB/s geleert – wenn ich ihn freealle paar Sekunden ausführe, zeigt sich nur ein einstelliger Unterschied, und der gesamte Vorgang kann einige Minuten dauern.

Mein System ist ziemlich neu und ich habe gerade die Festplatte getestet, auf der die Swap-Partition gespeichert ist. cpipeDas Lesen einer 7 GB großen Datei dauert durchschnittlich etwa 150–160 MB/s. Warum wird die Swap-Partition nicht mit ähnlicher Geschwindigkeit zurück in den RAM verschoben?

Kann ich etwas tun, um es schneller zu machen?

$ uname -r
4.15.0-29-generic

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

verwandte Informationen