Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
zram [Le 29/05/2014, 14:44]
83.154.144.133 [explication technique de zRam]
zram [Le 07/06/2025, 15:13] (Version actuelle)
krodelabestiole détails / réorganisation (pas de diff sur les anciennes versions d'ubuntu les paquets sont les mêmes au moins depuis jammy)
Ligne 1: Ligne 1:
 {{tag>​swap optimisation}} {{tag>​swap optimisation}}
  
-----+====== zRam ======
  
-====== zRAM ======+**[[wpfr>​ZRam]]** est un module du [[:​kernel|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.
  
-**zRAM** (ou RamZ) remplace ​[[CompCache]].\\ +En communication étroite avec le processeur, la [[wpfr>​mémoire vive]], ou RAM, 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.
-zRAM est une technologie ingénieuse;​ en temps normalun ordinateur qui sature la mémoire vive transfère les données ​dans un fichier d'​échanges dynamiques sauvegardé mécaniquement sur le disque durceci afin de libérer l'espace mémoire vive, donc volatile\\ +
-Cette technique est appelée **[[SWAP]]** \\+
  
-Autrefoiscette techniquemalgré tous ces défauts, restait raisonnable. Malheureusement ​plus le temps avance, plus les disques dur deviennent lents en comparaison de la mémoire vive. Ainsi, le simple fait de décharger certains processus présents en mémoire vive sur le disque dur peut ralentir drastiquement le fonctionnement ​de l'​ordinateur, et dans certains cascelui-ci cesse de fonctionner momentanément ​ou exige un redémarrage forcé. \\+Plus on ouvre d'​applications différentesou d'​onglets dans un navigateur, plus grande est la quantité ​de mémoire vive utilisée (et arithmétiquement plus faible est la quantité ​de mémoire disponible). Lorsqu'​elle arrive à saturation ​l'​ordinateur ​transfère les données qu'il suppose être 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]]//​. Plutôt qu'un fichier, il est aussi possible de définir une [[:​partitions|partition]] réservée à cet usage (c'​était d'​ailleurs la seule solution sur les anciennes versions d'​Ubuntu).
  
-zRAM permet ​de remédier à cette limitation 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 d'​avantage de ressources aux processus actifs.\\ +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 beaucoup plus lent ralentit drastiquement le fonctionnement de l'ordinateur. La réactivité générale ​du système s'en trouve grandement affectéeet dans certains cas celui-ci cesse de fonctionner momentanément ou exige un redémarrage forcé.
-La RAM, une fois compressée,​ est certes un tout petit peu plus lente mais ceci évite de monopoliser ​du temps pour les échanges vers le disque par essence moins rapides qu'une compression ​de fichiers presque instantanée. L'​impact sur le processeur restant très négligeable\\+
  
-Quelle que soit votre configuration,​ vous n'en retirerez que des avantages! Même si votre ordinateur est basé sur un très ancien Pentium 3, le gain potentiel ​de performance obtenu en privilégier ​les échanges en mémoire vive plutôt que la lecture-écriture sur des disques ​de l'​époque est sans commune mesure et impressionnant! ​\\ +**zRam** permet de repousser cette échéance ​en compressant la RAM la moins utilisée pour faire de la place. Les données ​les moins sollicitées dans la RAM sont compressées afin d'​offrir davantage ​de ressources aux nouveaux processus.\\ 
-NB: zRAM n'empêche pas l'utilisation ​de l'​hibernation.+Cependant lorsqu'elles sont compressées, ​l'accès aux informations stockées en RAM se trouve systématiquement ralenti et le processeur est plus sollicité, la compression et décompression des données constituant systématiquement une charge ​de travail supplémentaire.
  
-===== Activer ​zRam =====+**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 de RAM sur la carte mère. Si il n'est pas nécessaire il ne fera que réduire la réactivité du système (en augmentant généralement aussi la consommation électrique et la température du CPU).
  
-zRam est déjà installé sur votre ordinateur car il fait partie du noyau linux officiel à partir ​de 2.6.37 (Ubuntu 11.04) \\ +Linux conçoit l'​espace géré par **zRam** comme un espace ​de [[:swap]]Mais contrairement au [[:swap]] ordinaire celui-ci peut lui-même être stocké en RAM, ce qui garantit ses performances ​(bien que l'​espace de RAM disponible traditionnellement s'en trouve réduit ​d'autant)**zRam** peut aussi gérer cet espace sur le support de stockage comme le [[:swap]] traditionnelcependant son intérêt ​est dans ce cas très limité étant donné la fiabilité ​et le prix raisonnable des [[:​SSD]] ​de nos jours.
-À partir ​d'ubuntu 12.04un paquet ​est présent ​dans les dépôts pour activer automatiquement ​ce module ​et ainsi profiter ​de ces bienfaits. \\ +
-Il vous suffit donc de l'​installer.+
  
-Pour cela, ouvrez un [[terminal]] et faites: +===== Installation =====
-<​code>​ +
-sudo apt-get install zram-config +
-</​code>​+
  
-Ou tout simplement utilisez ​votre procédure préférée pour [[:tutoriel:​comment_installer_un_paquet|installer un paquet sous Ubuntu]], et utilisez la pour installer le paquet **zram-config**+**zRam** est déjà installé sur votre ordinateur, car il est un module du [[:kernel|noyau Linux]], mais il n'est pas activé par défaut.
  
-Et voilà ! Même pas besoin ​de redémarrer ​ou de configurer quoi que se soit. Le paquet ​autodétecté ​la mémoire vive disponible sur votre ordinateur, ainsi que le nombre de cœurs et a optimisé et démarré le service zRam pour vous !+Pour l'​utiliser le plus simple est d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ''​[[apt>​zram-config]]''​ qui fournit une configuration par défaut et un service [[:​systemd]].\\ 
 +Grâce au service ''​zram-config'',​ **zRam** s'​exécute automatiquement une fois le paquet correspondant installé. 
 + 
 +Si besoin ​le paquet ''​[[apt>​zram-tools]]''​ fournit des services et outils supplémentaires pour le gérer. 
 + 
 +Pour vérifier l'​activation du service **zRam** : 
 +<​code>​systemctl status zram-config</​code>​ 
 +ou encore : 
 +<​code>​cat /​proc/​swaps</​code>​ 
 +Exemple d'​affichage (pour 4 cores) : 
 +<file - /​proc/​swaps>​ 
 +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 
 +</​file>​ 
 +<note tip>Si la vérification ci-dessus ne donne pas de résultat équivalent,​ faites <​code>​sudo systemctl restart zram-config</​code></​note>​ 
 + 
 +===== Configuration ===== 
 + 
 +Il n'​y ​rien en principe rien à faire, **zRam** détecte automatiquement ​la mémoire vive disponible sur votre ordinateur, ainsi que le nombre de cœurs et la configuration par défaut convient dans la plupart des cas. 
 + 
 +Pour modifier la configuration par défaut : 
 +<note warning>​FIXME Cette commande ne peut pas fonctionner,​ zramswap n'​existe plus.</​note>​ 
 +<​code>​echo "​ENABLED=true 
 +ALGO=zstd 
 +PERCENT=50 
 +PRIORITY=100"​ | sudo tee -/​etc/​default/​zramswap</​code>​ 
 +<​code>​sudo systemctl restart zramswap</​code>​ 
 + 
 +==== Ajout ==== 
 + 
 +<​code>​sudo zramctl --find --size 1024M</​code>​ 
 + 
 +<​code>​sudo mkswap /​dev/​zram1</​code>​ 
 +<​code>​sudo swapon /​dev/​zram1</​code>​ 
 + 
 +==== Arrêt ==== 
 + 
 +<​code>​sudo swapoff /​dev/​zram*</​code>​ 
 +<​code>​sudo zramctl --reset /​dev/​zram*</​code>​
  
-===== Voir aussi: ===== 
-  * [[http://​www.webupd8.org/​2011/​10/​increased-performance-in-linux-with.html]] 
-  * installer par default dans la version 78 de CUBUNTU ​ : [[http://​www.cubuntu.fr/?​q=node/​21]] 
  • zram.1401367441.txt.gz
  • Dernière modification: Le 29/05/2014, 14:44
  • par 83.154.144.133