Le présent wiki a été migré vers wiki.archlinux.org.
Ce Wiki a été archivé. Toute contribution doit donc désormais se faire là-bas. Cette page de Wiki possède donc potentiellement des informations qui ne sont plus à jour !
Zram : Différence entre versions
(Premier jet zram. Besoin d'aide pour le NB: qui devrait être une {{note}}) |
(relecture, ok, ajout balise {{Note}}) |
||
Ligne 1 : | Ligne 1 : | ||
− | [https://www.kernel.org/doc/Documentation/blockdev/zram.txt zram] est un | + | [[en:Improving_performance#Zram_or_zswap]] |
+ | [[https://www.kernel.org/doc/Documentation/blockdev/zram.txt zram] est un «périphérique bloc» (comme une partition de disque dur) qui vit dans la RAM et où les données sont compressées avant d'être inscrites. Avec un peu d'imagination, ça permet d'augmenter la dimension de sa RAM sans acheter de barrette mémoire. | ||
== Démarrage rapide == | == Démarrage rapide == | ||
Ligne 42 : | Ligne 43 : | ||
zrm[| 602M(4.84G)/16.0G] | zrm[| 602M(4.84G)/16.0G] | ||
− | + | {{Note|1=Il est fort probable que le module {{ic|zswap}} activé par défaut sur le noyau Archlinux «interfère» avec zramctl pour un usage de zram en tant que «RAM supplémentaire». Ce module permet de compresser la donnée avant de l'inscrire en swap: cette donnée est donc incompressible pour zram. On peut désactiver zswap au démarrage en ajoutant à sa cmdline: {{ic|zswap.enable=0}}}} | |
− | |||
− | |||
== Autres usages == | == Autres usages == |
Version du 28 mai 2021 à 17:45
[zram est un «périphérique bloc» (comme une partition de disque dur) qui vit dans la RAM et où les données sont compressées avant d'être inscrites. Avec un peu d'imagination, ça permet d'augmenter la dimension de sa RAM sans acheter de barrette mémoire.
Démarrage rapide
modprobe zram echo lz4 > /sys/block/zram0/comp_algorithm echo 8G > /sys/block/zram0/disksize mkswap --label zram0 /dev/zram0 swapon --priority 100 /dev/zram0
Voilà, on a maintenant un disque virtuel zram utilisé comme swap. Pour l'effacer :
swapoff /dev/zram0 rmmod zram
Configuration permanente
Le wiki anglophone fait mention d'udev, mais le rédacteur de l'article n'a pas réussi à en faire ce qu'il souhaitait.
En revanche, le paquet zram-generator fonctionne.
[zram0] # Autant d'espace zram que de RAM. Par défaut, c'est 50% zram-fraction=1.0 # Pas de limite de taille du zram. Par défaut c'est 4Go max-zram-size=none # Utiliser zstd pour la compression, plutôt que l'algo par défaut (qui change d'une machine à l'autre) compression-algorithm=zstd
Statistiques
L'utilitaire zramctl du paquet util-linux permet d'obtenir des statistiques utiles.
% zramctl NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT /dev/zram0 zstd 16G 4,9G 609,1M 758,4M 4 [SWAP]
Ici, le périphérique zram0 contient 4.9Go de données mais n'occupe que 758.4Mo de RAM. htop est également en mesure de fournir des informations similaires :
zrm[| 602M(4.84G)/16.0G]
Autres usages
Il reste tout à fait possible d'utiliser un périphérique zram pour y mettre un autre système de fichiers que swap.
modprobe zram echo 8G > /sys/block/zram0/disksize mkfs.ext4 /dev/zram0 mkdir /mnt/compressed_ext4 mount /dev/zram0 /mnt/compressed_ext4