Retarder le Swap
Afin de contrôler la manière dont le kernel gère la swap, il existe le paramètre swappiness.
Ce paramètre contrôle la tendance qu’aura le kernel a délesté des processus hors de la RAM vers la SWAP. le fait de swapper ralentit énormément les processus, car les vitesses d’accès aux disques durs sont beaucoup plus lent que les vitesses d’accès à la RAM.
La swappiness peut avoir une valeur comprise entre 0 et 100. A 100, le kernel swappera dès que possible. A 0 le kernel ne swappera jamais.
Il peut être dangereux de ne pas swapper s’il est possible de remplir sa mémoire vive. Par contre swapper continuellement ralentit les processus. D’expérience, j’ai vu certains de mes processus être 20 fois plus lents à cause de la SWAP.
Par défaut dans Ubuntu, la valeur de la swappiness est de 60. C’est une valeur tout à fait raisonnable. Si vous connaissez bien votre gestion de la mémoire, je vous laisse juger de la valeur idéale. Par contre, si vous êtes un utilisateur qui ne remplit jamais sa RAM, il faut réduire cette valeur. Chez moi, j’ai 2 Go de RAM, je sais que je ne dépasse jamais les 1.6 Go d’utilisé. J’ai donc descendu la valeur à 15. Je ne swapperais que si je dépasse les 1.7 Go d’utilisation.
Pour vérifier votre valeur de la swappiness
more /proc/sys/vm/swappiness
Pour changer temporairement sa valeur, on revient au défaut à chaque redémarrage.
sudo sysctl vm.swappiness=15
Pour rendre le changement permanent:
sudo gedit /etc/sysctl.conf
On cherche vm.swappiness dans le fichier et le modifie, s’il n’existe pas, ajoutez le.
vm.swappiness=15
On sauvegarde et la valeur sera effective au redémarrage suivant.
En passant, pour accélérer le boot, j’ai fait ça aussi :
sudo gedit /etc/init.d/rc
Et j’ai remplacé CONCURRENCY=none par CONCURRENCY=shell (apparemment obsolète mettre startpar). Ça n’a rien à voir avec la SWAP et la différence est dure à voir.