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 13/10/2013, 13:11]
jeyenkil Ajout "Désactivation zram cause Bug"
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 ======
  
-**zRam** (ou RamZ) remplace ​[[compcache]] depuis Ubuntu 11.04.\\ +**[[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 est une technologie ingénieuse. En temps normalun ordinateur arrivant à manquer de mémoire vive inscrit directement le contenu ​de la mémoire vive sur le disque dur pour libérer ​le l'​espace. Cette technique est appelée ​**[[SWAP]]** \\ + 
-Autrefois cette techniquemalgré tous ces défauts, restait raisonnable. Malheureusement ​plus le temps avanceplus les disques dur deviennent lents en comparaison à la mémoire vive. Ainsi le simple ​fait de décharger ​"un peu" de mémoire vive sur le disque dur peut ralentir ​drastiquement, ​voir freezer votre PC\\ +En communication étroite avec le processeurla [[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 permet de remédier à ça en compressant la ram la moins utilisée pour faire de la place. ​La RAM la moins utilisée reste donc en RAM mais compressée permettant de faire de la place pour d'autres informations. \\ + 
-La RAM une fois compressée ​est certes un tout petit peu plus lentemais ne requiert ​pas l’inscription ​de ces données sur le disque dur. Car ouiun disque dur est immensément plus lent qu'​une ​simple compression, ​et l'impact sur le processeur reste très négligeableDans tous les cas vous sortirez gagnant ! (même sur un vieux pentium 3, le processeur ne sera jamais ​le facteur limitantsurtout si le disque dur date de la même époque que votre processeur, le boost de performance sera immense) ​\\ +Plus on ouvre d'​applications différentes,​ ou 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).\\ 
-zRam n'empêche pas l'utilisation de l'hibernation.+Cette technique est appelée ​//[[:swap]]//. Plutôt qu'un fichieril 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). 
 + 
 +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é
 + 
 +**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.\\ 
 +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. 
 + 
 +**zRam** est donc utile uniquement dans le cas où la mémoire vive disponible ​ne suffit ​pas à l'usage qu'on fait de son ordinateuret 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). 
 + 
 +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 RAMce 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. 
 + 
 +===== Installation ===== 
 + 
 +**zRam** est déjà installé sur votre ordinateurcar il est un module du [[:​kernel|noyau Linux]], mais il n'est pas activé par défaut. 
 + 
 +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 =====
  
-===== Activer ​zRam =====+Il n'y a 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.
  
-zRam est déjà installé sur votre ordinateur car il fait partie du noyau linux officiel à partir de 2.6.37 (Ubuntu 11.04) \\ +Pour modifier la configuration par défaut : 
-La seule chose à faire est donc de l'​activer. Pour l'​activeril suffit d'ajouter un paquet dont l'​unique fonction est d'​ajouter un petit script au démarrage de votre ordinateur qui activera automatiquement cette fonction.+<note warning>​FIXME Cette commande ne peut pas fonctionnerzramswap n'existe plus.</​note>​ 
 +<​code>​echo "​ENABLED=true 
 +ALGO=zstd 
 +PERCENT=50 
 +PRIORITY=100"​ | sudo tee -a /​etc/​default/​zramswap</​code>​ 
 +<​code>​sudo systemctl restart zramswap</​code>​
  
-Pour cela, ouvrez un [[terminal]] et faites: +==== Ajout ====
-<​code>​ +
-sudo add-apt-repository ppa:​shnatsel/​zram +
-sudo apt-get update +
-sudo apt-get install zramswap-enabler +
-</​code>​+
  
-Et voilà ! Même pas besoin de redémarrer ou de configurer quoi que se soit. Le paquet a autodétecté la mémoire vive disponible sur votre ordinateur, ainsi que le nombre de cœurs et a démarré le service zRam pour vous ! +<code>sudo zramctl ​--find --size 1024M</code>
-<note warning>Depuis Ubuntu 12.04, le paquet "zram-config"​ remplace ​ "​zramswap-enabler"​. Il faut redémarrer la machine pour qu'il prenne effet.</note>+
  
-===== Désactiver zRam =====+<​code>​sudo mkswap /​dev/​zram1</​code>​ 
 +<​code>​sudo swapon /​dev/​zram1</​code>​
  
-Si au démarrage de l'​ordinateur vous obtenez un message du type « Buffer I/O error on device zram0 », vous êtes victimes de ce [[https://​bugs.launchpad.net/​ubuntu/​+source/​linux-lts-raring/​+bug/​1217189|bug]].+==== Arrêt ====
  
-Pour remédier à ce problème, nous allons black-listé ce module pour qu'il ne soit plus chargé au démarrage de la machine :​ +<​code>​sudo ​swapoff ​/dev/​zram*</​code>​ 
-  * [[:​tutoriel:​comment_modifier_un_fichier|Créez un fichier]] /​etc/​modprobe.d/​blacklist-zram.conf en tant qu'​[[superutilisateur|Administrateur]] +<​code>​sudo zramctl ​--reset /dev/zram*</​code>​
-<​code>​sudo ​gedit /etc/modprobe.d/​blacklist-zram.conf</​code>​ +
-  ​Ajoutez la ligne suivante dans ce fichier +
-<​code>​blacklist zram</​code>​ +
-  * Enregistrez,​ fermez votre éditeur de texte +
-  * Mettez à jour la liste des [[tutoriel:​tout_savoir_sur_les_modules_linux|modules]] chargés au démarrage avec la commande suivante +
-<​code>​update-initramfs ​-c -k all</​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.1381662664.txt.gz
  • Dernière modification: Le 13/10/2013, 13:11
  • par jeyenkil