Ceci est une ancienne révision du document !
zRam
ZRam est un module du noyau Linux qui permet de compresser la mémoire vive, ce qui peut être utile dans le cas où cette ressource est limitée et arrive souvent à saturation.
En communication étroite avec le processeur, la mémoire vive permet au processeur de lire et écrire des données très rapidement, afin d'effectuer les opérations les plus courantes et d'assurer la bonne réactivité générale du système.
Plus on ouvre d'applications différentes, ou d'onglets dans un navigateur, plus la mémoire vive est utilisée. Lorsqu'elle arrive à saturation l'ordinateur transfère les données les moins usitées dans un fichier d'échange sauvegardé sur le stockage non volatile du système, a priori le SSD (ou le disque dur dans le pire des cas).
Cette technique est appelée SWAP.
Malheureusement, même les SSD les plus rapides sont loin de rivaliser avec la mémoire vive en terme de vitesse, et le fait de décharger certaines données présentes en mémoire vive sur ce support permanent et beaucoup plus lent ralentit drastiquement le fonctionnement de l'ordinateur. La réactivité générale du système s'en trouve grandement affectée, et dans certains cas celui-ci cesse de fonctionner momentanément ou exige un redémarrage forcé.
zRam permet de repousser cette échéance en compressant la RAM la moins utilisée pour faire de la place. Les programmes les moins sollicités dans la RAM sont compressés afin d'offrir davantage de ressources aux processus actifs.
Cependant lorsqu'elle est compressée, l'accès aux informations stockées en RAM se trouve systématiquement ralenti et le processeur est plus sollicité, lorsqu'il doit compresser et décompresser les données.
zRam est donc utile uniquement dans le cas où la mémoire vive disponible ne suffit pas à l'usage qu'on fait de son ordinateur, et qu'il n'est pas possible d'étendre ses capacités en ajoutant ou remplaçant une barrette. Sans quoi il ne fera qu'en réduire la réactivité (en augmentant généralement aussi la consommation électrique et la température du CPU).
Pour le système zRam créé un espace de SWAP, qui peut être soit stocké en RAM ce qui garantit ses performances (bien que l'espace de RAM disponible traditionnellement s'en trouve réduit d'autant), soit sur support de stockage (l'intérêt est dans ce cas très limité étant donnée la fiabilité et le prix raisonnable des SSD de nos jours).
Activer zRam
zRam pour ubuntu version supérieure à 24.04
Installer les paquets zram-config zram-tools
.
Pour modifier la configuration par défaut :
echo "ENABLED=true ALGO=zstd PERCENT=50 PRIORITY=100" | sudo tee -a /etc/default/zramswap
sudo systemctl enable zramswap
sudo systemctl start zramswap
zRam pour ubuntu version inférieure à 24.04
zRam est déjà installé sur votre ordinateur, car il fait partie du noyau linux officiel. Si pour une raison quelconque il ne le serait pas il suffit d'installer le paquet zram-config
.
zRam détecte automatiquement la mémoire vive disponible sur votre ordinateur, ainsi que le nombre de cœurs et optimise et démarré le service zRam automatiquement.
Pour vérifier l'installation du service zRam:
cat /proc/swaps Exemple d'affichage (pour 4 cores): Filename Type Size Used Priority /dev/sda3 partition 9215996 0 -1 /dev/zram0 partition 755740 8104 5 /dev/zram1 partition 755740 8004 5 /dev/zram2 partition 755740 8120 5 /dev/zram3 partition 755740 8064 5
sudo service zram-config start
ou encore
sudo service zram-config --full-restart
Utilisation
Il n'y a rien en principe rien à faire, zRam peut gérer relativement bien les choses tout seul.
Ajout
sudo zramctl --find --size 1024M
sudo mkswap /dev/zram1
sudo swapon /dev/zram1
Arrêt
sudo swapoff /dev/zram*
sudo zramctl --reset /dev/zram*