Ich würde wirklich nicht empfehlen, das swappiness höher zu setzen. Ein allgemeiner Mechanismus im Kernel besteht darin, dass Seiten (Speicherblock) in den Swap gestellt werden, um Speicher für andere ausgeführte Aufgaben freizugeben.
Erstes "Problem", wenn der Kernel n Seiten freigeben will, m (mit m <n, m ist die Anzahl der komprimierten Seiten, die für n erforderlich sind) neu im RAM erstellt werden, ich bin nicht sicher, ob dies den Kernel stören kann oder nicht nicht.
Wenn Sie Seiten im Tausch haben, ist es dennoch möglich, dass Sie die Anwendung später mit einigen Seiten im Tausch verwenden. Der Kernel bringt diese Seiten in den physischen Speicher zurück, entfernt sie jedoch nicht aus dem Swap (was bei Standard-Swap als Caching angesehen werden kann. Wenn die Anwendung also wieder im Hintergrund ausgeführt wird, muss der Kernel diese Seiten nicht zurückschreiben in den langsamen Swap). Mit zram ist dies jedoch möglicherweise kein kluger Trick, da Sie dann im Speicher die m Seiten in zram + die n Seiten haben, die sich wieder im Speicher befinden!
Der Kernel verfügt in der Regel über einen "Gesamtspeicher", der für die Geschäftsabwicklung verwendet werden kann. Wenn Sie zram hinzufügen, zählt es nur im "Swap" -Speicher, wie es bei jedem festplattenbasierten Swap der Fall wäre, aber es reduziert den tatsächlichen "Gesamtspeicher" und das wird vom Kernel nicht erwartet. Manchmal kann es vorkommen, dass Sie sich deshalb komisch und unerwünscht verhalten!
Mit zram wäre es gut, wenn der Kernel nicht zu viel in diesen Bereich wechselt, wenn er unter Speicherdruck steht. Und Sie sollten immer eine echte Festplatten-Swap-Partition haben, die mindestens die maximale Größe Ihres zram überschreitet, damit das System keine OOM erhält, während Sie gleichzeitig viel freien Speicherplatz sehen würden, wie von gemeldet free
!