===== Utilisation de ZRAM sous Debian avec zram-tools ===== ==== Qu’est-ce que ZRAM ? ==== **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**. ==== Fonctionnement ==== ZRAM fonctionne de manière très simple : * Le noyau crée un périphérique spécial ''/dev/zramX'', qui agit comme un disque virtuel. * Toutes les données envoyées vers ce périphérique sont automatiquement **compressées**. * Ce périphérique virtuel est ensuite utilisé comme **swap à haute priorité**. === Algorithmes de compression disponibles === Différents algorithmes peuvent être utilisés : * ''lz4'', ''zstd'', ''lzo''… * Recommandation : ''zstd'' offre le meilleur équilibre entre performance et taux de compression. ==== Avantages principaux ==== === Performances comparatives === ZRAM offre des performances très supérieures au swap traditionnel sur disque : * **10 à 100 fois plus rapide** qu’un swap sur SSD SATA classique. * Jusqu’à **1000 fois plus rapide** que le swap sur disque dur mécanique. * Le débit dépend du taux de compression, mais reste bien supérieur aux performances des supports physiques classiques. === Autres avantages === * Moins d’usure des disques physiques. * Ne nécessite aucune partition dédiée. * Meilleure réactivité du système sous forte charge. * Mise en œuvre rapide et facile. ==== Installation sous Debian ==== === Installer le paquet nécessaire === 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. ==== Configuration simple dans /etc/default/zramswap ==== É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 soit ''PERCENT'', soit ''SIZE'', mais jamais les deux simultanément. === Exemple concret pour une machine disposant de 8 Go de RAM === ENABLED=true PERCENT=50 ALGO=zstd PRIORITY=100 ==== Appliquer la configuration ==== 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. ==== Activation au démarrage du système ==== Pour activer immédiatement et au démarrage suivant : sudo systemctl enable --now zramswap.service ==== Vérifications utiles ==== === Afficher les périphériques ZRAM === Lister les périphériques créés : lsblk === Vérifier l’état du swap ZRAM === Voir le swap actuellement actif : cat /proc/swaps Résultat typique : Filename Type Size Used Priority /dev/zram0 partition 1957468 0 100 ==== Désactivation propre de ZRAM ==== Pour arrêter et désactiver ZRAM proprement : sudo systemctl stop zramswap.service sudo systemctl disable zramswap.service