Zram, Zcache et Zswap : lequel est le meilleur pour vous ?

Zram, Zcache et Zswap : lequel est le meilleur pour vous ?
⌛ Reading Time: 4 minutes

Si vous utilisez Linux, vous pouvez multiplier votre RAM disponible sans avoir à acheter de nouveaux modules de mémoire. Zram, zswap et zcache vous permettent de compresser le contenu de la RAM de votre PC, en l’étendant pratiquement. Mais lequel utiliser ? Lequel est le meilleur ? Continuez à lire pour le découvrir.

Les avantages de la compression RAM

Si vous avez vu une présentation sur les consoles de nouvelle génération par Sony et Microsoft, vous avez peut-être remarqué que les deux sociétés ont fait beaucoup d’histoires sur la rapidité de leur stockage. Il y a une raison à tout cela : le stockage est le goulot d’étranglement le plus percutant, même sur les derniers PC haut de gamme.

Le but ultime des solutions que nous voyons ici est de minimiser la quantité de données échangées entre la RAM de notre ordinateur et ses systèmes de stockage plus lents. C’est important à garder à l’esprit car, comme nous le verrons, c’est leur facteur de différenciation.

ZRam

Zram est aujourd’hui la solution de compression de RAM la plus simple sous Linux. Anciennement connu sous le nom de compcache, il tire parti de la prise en charge par Linux de plusieurs périphériques d’échange en créant un (ou plusieurs) supplémentaire dans la RAM de l’ordinateur.

Zram fonctionne en créant une hiérarchie de trois espaces de stockage. Il crée un nouveau volume d’échange compressé dans la RAM, qui est – hiérarchiquement – ​​placé entre la RAM et les périphériques de stockage. Ensuite, lorsque la RAM est remplie de données, elle déplace l’excédent vers le swap compressé. Lorsque celle-ci est également remplie, zram commence à déplacer les données vers la partition d’échange dans le lecteur de stockage.

Ce nouveau périphérique d’échange se voit attribuer une priorité plus élevée que ceux qui résident dans le stockage réel plus lent du PC, pour être utilisé avant eux. Il s’appuie également sur l’un des multiples algorithmes de compression, comme LZ4 ou LZO, pour entasser autant de données que possible dans ce périphérique d’échange.

Zram Zcache Zswap Lz4

Les processeurs modernes ont atteint un point où ils peuvent compresser et décompresser les données stockées dans la RAM plus rapidement qu’elles ne pourraient être écrites ou lues à partir d’un disque SSD ou HDD, avec un impact négligeable sur les performances de l’ordinateur.

Il convient de noter que zram fonctionne tout seul, sans avoir besoin d’autres périphériques d’échange. Ainsi, vous pouvez, par exemple, l’utiliser dans des systèmes embarqués ou des live CD, car il n’a pas besoin d’être soutenu par un stockage réel.

ZSwap

Zswap est plus compliqué que zram. Il améliore la relation entre la RAM de notre ordinateur et ses périphériques de stockage plus lents en ajoutant une compression intelligente là où ils se croisent.

Zram Zcache Zswap Zswap

Avec zswap, la RAM compressée et les volumes d’échange qui existent déjà dans les périphériques de stockage d’un ordinateur sont traités comme des nœuds dans un système de stockage intelligent. Zswap occupe également une partie de la RAM d’un ordinateur mais ne déplace pas aveuglément tout ce qui ne rentre pas dans le reste de la RAM, puis essaie de le compresser. Au lieu de cela, il compresse d’abord tout ce qui ne rentre pas dans la RAM réelle. Si les données sont compressées, zswap les stocke dans la RAM. Si ce n’est pas le cas, il le stocke dans le swap existant.

De cette façon, zswap tire un meilleur parti de la RAM disponible et de l’espace d’échange car, par exemple, il ne monopolisera pas la RAM qu’il utilise avec des données incompressibles.

Puisqu’il s’appuie sur le swap existant, zswap est préférable pour les installations Linux sur chaque PC, en particulier ceux avec moins de 4 Go de RAM.

Zcache

Zcache fonctionne en tandem avec le système tmem (« Mémoire transcendante ») pour offrir au noyau Linux un moyen plus polyvalent de stocker des données non utilisées actuellement.

Zcache ajoute une couche transparente supplémentaire de gestion de la mémoire sur le noyau qui compresse toutes les données qui ne sont pas actuellement utilisées. Contrairement à la gestion de chaque octet de données, avec zcache, le noyau Linux peut stocker des pages entières de données dans des « pools » via l’interface de tmem. Le backend zcache compresse ensuite ces groupes de données.

Comme zswap, zcache ne conserve que les données compressées dans la RAM et pousse les pages non compressées vers le swap réel, tirant ainsi le meilleur parti des deux.

Quel est le meilleur?

En théorie, zcache offre la meilleure des solutions. Cependant, cela ne signifie pas que c’est la voie à suivre, car l’aspect pratique compte également. Malgré ses fonctionnalités avancées, zcache est largement non pris en charge. Son développement a stagné et il a été supprimé du noyau Linux sur la version 3.11. Pour l’utiliser aujourd’hui, vous devrez sauter à travers des cerceaux, et le résultat ne serait probablement pas beaucoup mieux que si vous utilisiez zswap.

D’un autre côté, zram est plus restreint car il n’est guère plus qu’un volume virtuel stocké en RAM et utilisé comme espace de swap. Cela peut aider avec les systèmes à court de RAM, mais fonctionne en prenant aveuglément les choses du point A et en les déplaçant vers le point B puis le point C sans se soucier de ce qu’elles sont réellement.

Cela fait de zswap le meilleur choix pour la plupart des utilisateurs de Linux, quelle que soit leur distribution. Pour voir comment vous pouvez en profiter, consultez notre guide sur zswap.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.