Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
zram [Le 12/07/2013, 13:07] 87.231.162.182 [Activer 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 ====== | ||
- | **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 normal, un 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 technique, malgré tous ces défauts, restait raisonnable. Malheureusement plus le temps avance, plus 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 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 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 lente, mais ne requiert pas l’inscription de ces données sur le disque dur. Car oui, un disque dur est immensément plus lent qu'une simple compression, et l'impact sur le processeur reste très négligeable. Dans tous les cas vous sortirez gagnant ! (même sur un vieux pentium 3, le processeur ne sera jamais le facteur limitant, surtout 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).\\ |
- | Aucun bug résultant de son utilisation n'a été découvert par mes soins jusqu'ici (même l'hibernation fonctionne). | + | 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). |
+ | |||
+ | 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ée, et 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 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). | ||
+ | |||
+ | 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]] traditionnel, cependant 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 ordinateur, car 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 ===== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 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 -a /etc/default/zramswap</code> | ||
+ | <code>sudo systemctl restart zramswap</code> | ||
- | ===== Activer zRam ===== | + | ==== Ajout ==== |
- | zRam est déjà installé sur votre ordinateur car il fait partie du noyau linux officiel à partir de 2.6.37 (Ubuntu 11.04) \\ | + | <code>sudo zramctl --find --size 1024M</code> |
- | La seule chose à faire est donc de l'activer. Pour l'activer, il 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. | + | |
- | Pour cela, ouvrez un [[terminal]] et faites: | + | <code>sudo mkswap /dev/zram1</code> |
- | <code> | + | <code>sudo swapon /dev/zram1</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 à autodétecté la mémoire vive disponible sur votre ordinateur, ainsi que le nombre de cœurs et à démarré le service zRam pour vous ! | + | ==== Arrêt ==== |
- | <note warning>Depuis Ubuntu 12.04 on le paquet zram-config remplace zramswap-enable. Il faut redémarrer la machine pour qu'il prenne effet.</note> | + | |
- | Pour désactiver zRam, il suffit de désinstaller le paquet **zramswap-enabler**. | + | <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]] |