Bonjour à tous,
Après des mois à arpenter le web, je me résous à poser la question dans un forum:
Comment indiquer à mon noyau de NE RIEN entreposer dans ma partition swap?
J’ai une Debian récente avec noyau 4.14, mais le problème persiste depuis mes débuts sur Linux il y a plus d’un an, qu’importe la version du noyau.
Ma partition swap est de 4 Go tandis que ma RAM est de 8 Go, ce qui fonctionne parfaitement en compressant l’image de la RAM lors de l’hibernation (uswsusp fait très bien cela avec s2disk). Sauf quand plein de processus se mettent à placer des données sur la partition swap. Or cela arrive tout le temps, alors que ça ne devrait jamais arriver puisqu’à ce jour, la RAM utilisée sur ma machine n’a jamais dépassé les 5 Go (en comptant les caches).
De plus ma mémoire de masse est un SSD, donc j’aimerais autant éviter les écritures inutiles pour favoriser sa longévité.
J’ai trouvé un petit script qui permet de voir les processus qui mettent leurs données sur le swap, et c’est principalement WebContent/Firefox (les onglets ouverts mais non consultés depuis un moment), divers services de Gnome (evolution, calendriers, navigateur Nautilus…) et LibreOffice qui placent des choses sur la partition swap.
J’ai bien sûr essayé de jouer avec vm.swappiness (à 10, puis 1, puis 0) et avec vm.vfs_cache_pressure (à 400 ou à 1000). Ça n’a jamais changé plus de 10 ou 20 % de l’occupation de ma partition swap. Il est possible qu’il faille paramétrer les seuils du démon swapd mais je ne trouve pas de documentation là-dessus. Peut-être devrai-je remplacer le swapd d’origine par un autre daemon…
Du coup, mes mises en hibernation échouent régulièrement à cause du manque d’espace sur le swap (alors que j’ai 4 Go de libre en RAM). Je me retrouve donc souvent à faire des swapoff / swapon pour nettoyer mon swap ou à fermer des applications/onglets que j’aurais préféré garder pour diminuer son occupation et permettre à l’image d’hibernation d’y tenir.
Quelqu’un connaît ce problème ou a une solution?