Ich habe mich über die "Swappiness"-Einstellung von Linux informiert, die steuert, wie aggressiv der Kernel den Speicher von Anwendungen auf die Festplatte auslagert, wenn sie nicht benutzt werden. Wenn man den Begriff googelt, erhält man eine Menge Seiten wie ce das Für und Wider zu diskutieren. Kurz gesagt, das Argument lautet wie folgt:
Wenn Ihr Swappiness-Wert zu niedrig ist, belegen inaktive Anwendungen den gesamten Systemspeicher, den andere Programme nutzen möchten.
Wenn die Auslagerungsrate zu hoch ist, kommt es beim Aufwecken der inaktiven Anwendungen zu einer großen Verzögerung, da ihr Status von der Festplatte zurückgelesen wird.
Dieses Argument ist für mich nicht nachvollziehbar. Wenn ich eine inaktive Anwendung habe, die eine Menge Speicher verbraucht, warum paginiert der Kernel dann nicht seinen Speicher auf die Festplatte UND lässt eine weitere Kopie dieser Daten im Speicher? Das scheint das Beste aus beiden Welten zu sein: Wenn eine andere Anwendung diesen Speicher benötigt, kann sie sofort den physischen RAM beanspruchen und anfangen, darauf zu schreiben, da eine andere Kopie davon auf der Festplatte liegt und zurück ausgelagert werden kann, wenn die inaktive Anwendung aufgeweckt wird. Und wenn die ursprüngliche Anwendung aufwacht, können alle ihre Seiten, die sich noch im RAM befinden, unverändert verwendet werden, ohne dass sie von der Festplatte geholt werden müssen.
Oder übersehe ich etwas?