Voici, une petite touche de « tunning » pour peaufiner la vélocité de la distribution GNU/Linux avec zswap.
C’est quoi zswap ?
Zswap est une fonctionnalité du noyau Linux à partir de la version 3.11, qui fournit la compression du cache pour le swap.
Zswap prend les pages qui sont dans le traitement d’évacuation du swap et essaie de les compresser dans un groupe de mémoire vive allouée dynamiquement. Et si l’espace ainsi gagné est suffisant, des écritures sur disque sont évitées. Zswap échange ainsi cela par des cycles processeur pour réduire potentiellement des écritures et lectures en swap. Cet échange peut améliorer de façon significative les performances si les lectures du cache compressé sont plus rapides que les lectures du swap.
Activation de zswap sous GNU/Linux
L’activation de zswapp se fait en ajoutant une option au démarrage du Kernel dans le fichier de configuration du Grub.
Attention, ce qui suit est assez dangereux car on touche au démarrage du noyau Linux et une erreur est vite arrivée!
Et vérifier la version du kernel, qui doit être au minimum la version 3.11 !
Pour connaitre la version du noyau, saisir dans un terminal :
uname -r
Si les prés-requis sont bons, c’est parti!
- Edition du fichier de configuration du Grub: /etc/default/grub.
sudo nano /etc/default/grub
- Se rendre à la ligne GRUB_CMD_LINUX_DEFAUL et ajouter à la fin zswap.enabled=1 :
GRUB_CMD_LINUX_DEFAUL="quiet splash zswap.enabled=1"
- Mettre à jour le Grub :
sudo update-grub
- Redémarrer la machine:
sudo reboot
- Vérification de la mise en place de zswap :
dmesg | grep zswap
via linuxfr.org & linuxmanr4.com
Quel est le gain ? Est-ce qu’il se ressent vraiment ?
Je trouve ca un peu bling bling perso :) Surtout sur du swap, qui n’est utilisé que lorsque la ram est full non ?
C’est pour ça que j’ai mis « tuning » entre guillemet ;-)
sur de petites configs oui cela apporte du gain mais pas sur les grosses… cependant si les devs du kernel ont apportés cette nouveauté, je pense que ce n’est pas pour rien :-)
Oh c’est un vrai plus ! en termes de réactivité et stabilité quand la RAM se fait rare. Ce qui est une question d’usage plus que de quantité. Tellement que Chromium/Google l’a inclu en standard sur tous les Chromebooks Chrome OS 27+ : Tu vends un peu de temps CPU contre une nette réduction des accès disques. Y-a donc très peu de contre-indications.
> I’ve used this function on several [2-4GB RAM] Chromebook models and have noticed that blank tabs are mostly a thing of the past, even after opening and closing dozens of tabs [in Chrome] during a typical day. [source](https://gigaom.com/2013/04/05/running-out-of-memory-on-a-chromebook-heres-a-30-second-solution/)
> It’s about improving speed [source](https://www.reddit.com/r/linux/comments/2hp5rr/zswap/ckv4kno)
> zswap operates at « kernel level », while zram is treated as compressed block device (something like compressed tmpfs). Moreover zswap has « cleaners » so it reclaims unused memory. [source](https://bbs.archlinux.org/viewtopic.php?id=169585)
Et un dernier aspect pour la route
> most netbooks today are memory constrained but have enough power to handle (de)compression
using zram is a perfect way ro increase the available virtual diskspace in live mode while using aufs.
> On my test system (Atom Z520 with 2GB Ram) I could increase the ramsize in linuxrc from 60% to 80% while preserving the same amount of available RAM while gaining 400MB more free diskspace. [source](http://forum.porteus.org/viewtopic.php?p=9379)
Confirmé sur le netbook de ma copine sous Arch Linux (même config que la dernière citation).