Je ne recommanderais vraiment pas de mettre le swappiness plus haut. Un mécanisme courant dans le noyau est qu'il mettra des pages (morceaux de mémoire) dans le swap pour libérer de la mémoire pour d'autres tâches en cours d'exécution.
Premier "problème" lorsque le noyau veut que n pages soient libérées, m (avec m <n, m est le nombre de pages compressées nécessaires pour contenir n) sont nouvellement créées en RAM, je ne sais pas si cela peut perturber le noyau ou ne pas.
De toute façon, quand vous avez des pages dans le swap, il est possible que vous utilisiez l'application plus tard avec certaines de ses pages dans le swap. Ce que le noyau fait est de ramener ces pages dans la mémoire physique mais ne les supprime pas du swap (qui, avec le swap standard, peut être vu comme une mise en cache , donc lorsque l'application revient en arrière-plan, le noyau n'a pas à réécrire ces pages dans le swap lent). Cependant avec zram ce n'est peut-être pas une astuce sage, car vous avez alors en mémoire les m pages en zram + les n pages qui sont de retour en mémoire!
Le noyau a normalement une "mémoire totale" qu'il peut utiliser pour faire ses affaires. Lorsque vous ajoutez du zram, il ne compte que dans la mémoire de «swap», comme ce serait le cas pour tout swap sur disque, mais il a réduit la «mémoire totale» réelle et ce n'est pas prévu / anticipé par le noyau. Parfois, vous pouvez avoir un comportement étrange et non voulu à cause de cela!
Avec zram, il serait bon que le noyau ne permute pas trop dans cette zone lorsqu'il est sous pression mémoire. Et vous devriez toujours avoir une vraie partition d'échange de disque dur plus grande au moins que la taille maximale de votre zram, afin que le système n'obtienne pas de MOO alors qu'en même temps vous verriez beaucoup d'espace libre comme indiqué par free
!