Ubuntu 18.04 est installé sur mon PC. Il dispose de 8 Go de mémoire et j’ai laissé 2 Go d’espace de permutation lors de l’installation d’Ubuntu. En fonctionnement normal, il utilise environ 2 Go de la mémoire principale et zéro swap.
Mon problème est que, lorsque j'exécute un processus de compression de mémoire, il commencera à utiliser l'espace de permutation après avoir épuisé toute la mémoire principale disponible, mais lorsque j'aurai terminé le processus de compression de mémoire, il continuera à utiliser l'espace de permutation même si la mémoire principale disponible en Go . En raison de l’utilisation de l’échange, mon ordinateur devient lent après cette opération. Cela entraînera donc le redémarrage de mon PC pour pouvoir le récupérer.
Existe-t-il un moyen de résoudre ce problème afin de pouvoir effacer le swap lorsque la mémoire principale est disponible? Ou est-ce un bug?
Une fois le swap traité, certains swap restent généralement utilisés même si, après avoir exécuté une opération consommant beaucoup de mémoire, vous revenez à votre utilisation "normale" d'environ 2 Go. Après avoir utilisé votre processus de récupération de mémoire, la plupart des autres processus auront été échangés vers la mémoire de permutation. Celles-ci seront récupérées sur RAM, car elles sont à nouveau utilisées par d'autres activités. Ils resteront en échange tant qu'ils ne sont pas nécessaires. En règle générale, vous devriez constater que l'utilisation de l'échange diminue progressivement et que le système redevient plus rapide.
Il y a moyen de revenir plus vite à la normale. Vous pouvez immédiatement "vider" tous les processus de SWAP à la mémoire principale en activant et désactivant l'échange. Cela nécessite les commandes:
Sudo swapoff -a
Sudo swapon -a
TL; DR: Il ne devrait pas être nécessaire de réinitialiser le swap, le redémarrage ou d’effectuer quoi que ce soit en particulier à propos de cette situation. Cela devrait se résoudre pendant que vous utilisez votre système normalement.
Ce n'est pas un état permanent. Au fur et à mesure que la pression de la mémoire diminue et que vous commencez à utiliser des applications avec des pages de mémoire permutées, celles-ci sont "mal" remplacées et replacées dans la mémoire principale à la demande. C’est une opération ponctuelle qui, bien entendu, ralentira temporairement votre système et les applications concernées.
En règle générale, certaines pages échangées restent échangées car elles restent inutilisées. Cela peut se produire lorsque des applications ne renoncent pas par erreur à des ressources qu'elles n'utilisent plus ou lorsqu'elles acquièrent plus de ressources qu'elles n'en ont réellement besoin. À petite échelle cependant, ce n'est pas une mauvaise chose ou un problème du point de vue de la gestion de la mémoire (virtuelle); la mémoire secondaire est abondante et bon marché, certainement plus abondante et moins chère que la mémoire principale, donc même si vous avez quelques giga-octets de mémoire permutée en permanence, cela ne fait pas trop mal (sauf que vous devrez peut-être augmenter légèrement l'espace de permutation et perdre un peu peu d’espace de stockage à d’autres fins).