ZRAM est un module du noyau Linux qui permet de créer une zone de swap compressée directement en RAM, au lieu d’utiliser une partition ou un fichier de swap classique sur disque.
Ainsi, au lieu d’écrire les données excédentaires vers un disque (plus lent), le système les compresse en temps réel et les conserve en mémoire vive. Cela permet de réduire significativement les temps d’accès et d’augmenter virtuellement la quantité de mémoire disponible.
ZRAM n’ajoute pas de RAM physique, mais limite efficacement les effets négatifs d’une saturation mémoire, avec un faible impact CPU.
ZRAM fonctionne de manière très simple :
/dev/zramX
, qui agit comme un disque virtuel.Différents algorithmes peuvent être utilisés :
lz4
, zstd
, lzo
…zstd
offre le meilleur équilibre entre performance et taux de compression.ZRAM offre des performances très supérieures au swap traditionnel sur disque :
sudo apt update sudo apt install zram-tools
Cela installe le service systemd zramswap.service
, chargé de gérer automatiquement les périphériques ZRAM.
Éditer le fichier de configuration principal :
# /etc/default/zramswap ENABLED=true # Allouer automatiquement 50 % de la RAM totale (ne pas utiliser avec SIZE=) PERCENT=50 # Alternative : fixer directement une taille en Mo (ne pas combiner avec PERCENT) # SIZE=2048 ALGO=zstd PRIORITY=100
⚠️ Attention : choisir soitPERCENT
, soitSIZE
, mais jamais les deux simultanément.
ENABLED=true PERCENT=50 ALGO=zstd PRIORITY=100
Pour prendre en compte les modifications :
sudo systemctl restart zramswap.service
Cela recrée proprement les périphériques ZRAM avec les nouveaux paramètres.
Pour activer immédiatement et au démarrage suivant :
sudo systemctl enable --now zramswap.service
Lister les périphériques créés :
lsblk
Voir le swap actuellement actif :
cat /proc/swaps
Résultat typique :
Filename Type Size Used Priority /dev/zram0 partition 1957468 0 100
Pour arrêter et désactiver ZRAM proprement :
sudo systemctl stop zramswap.service sudo systemctl disable zramswap.service