Au lieu d’écrire directement sur le disque dur (le swap traditionnel) lorsque la mémoire vive est pleine, Zram intercepte les pages mémoire et les compresse, réduisant ainsi la quantité de données échangées vers le disque. Cela améliore considérablement la réactivité du système, en particulier sur les machines avec une faible quantité de RAM ou des disques lents (comme les cartes SD ou les disques eMMC).
Vous vous demandez pourquoi Zram n’est pas actif par défaut sous Linux ?
Avant de l’installer, comprenez pourquoi cette optimisation est cruciale, notamment dans le cadre du reconditionnement de matériel, en lisant notre article de blog détaillé :
➡️ Zram : Pourquoi ce « turbo » pour la RAM n’est pas activé par défaut sous Linux ?
Le principe de Zram est de transformer une partie de la RAM en un périphérique de swap compressé.
/dev/zramX).Avantages :
Inconvénient :
Le module Zram est inclus dans le noyau Linux. Pour l’activer de manière persistante et automatique, il est recommandé d’utiliser le paquet d’utilitaires zram-tools ou zramswap-init (selon la distribution).
Installez le paquet qui gère l’activation automatique de Zram :
sudo apt update
sudo apt install zram-tools -y
Le paquet zram-tools configure par défaut la taille du swap Zram pour être une fraction de la RAM totale (souvent 50%).
Vous pouvez modifier cette configuration dans le fichier /etc/default/zramswap ou /etc/default/zram-tools (le nom exact dépend de la version de l’outil).
Par exemple, pour définir la taille à 100% de la RAM disponible (ou une valeur fixe) :
# Éditer le fichier de configuration (chemin à ajuster si besoin)
sudo nano /etc/default/zramswap
# Définir la taille (exemples) :
# - 100% de la RAM :
# PERCENT=100
# - Taille fixe de 2 Go :
# SIZE=2048
Si vous définissez la taille en pourcentage (
PERCENT), l’outil calculera la taille du périphériquezramà partir de la mémoire vive totale.
Après l’installation ou la modification de la configuration, activez ou redémarrez le service :
sudo systemctl enable zramswap
sudo systemctl start zramswap
Pour vérifier que Zram est actif et connaître sa taille, utilisez la commande swapon :
sudo swapon --show
Le résultat affichera le périphérique Zram (ex: /dev/zram0) avec son type partition et sa taille :
| Nom | Type | Taille | Utilisé | Priorité |
|---|---|---|---|---|
/dev/zram0 |
partition | 1,8G | 0B | 100 |
/dev/sda3 |
partition | 8G | 0B | -2 |
Remarque : Zram doit avoir une priorité plus élevée (nombre positif, ex:
100) que votre swap sur disque (nombre négatif, ex:-2) pour être utilisé en premier.
Vous pouvez également vérifier l’état détaillé de Zram pour le périphérique /dev/zram0 :
cat /sys/block/zram0/mm_stat
Les valeurs indiquent notamment la quantité de données écrites (compr_data_size) et la taille de la mémoire occupée par les données compressées.
Si vous souhaitez désactiver Zram, exécutez les commandes suivantes pour arrêter le service et le désactiver au démarrage :
# Arrêter le service (cela désactive le périphérique swap zramX)
sudo systemctl stop zramswap
# Désactiver le service au démarrage
sudo systemctl disable zramswap
# Désinstaller les outils (optionnel)
sudo apt purge zram-tools