Améliorez l’échange avec zram sous Linux


  • Français


  • Zram est un disque RAM compressé sous Linux. Dernièrement, il a été utilisé pour l’espace d’échange sur de nombreuses distributions. Dans mon article précédent, j’ai présenté zram et montré comment l’utiliser. Dans cet article, je couvre certaines des façons dont vous pouvez personnaliser la façon dont votre système utilise zram.

    Échange augmenté

    L’échange Zram peut être augmenté avec des périphériques de stockage secondaires standard. L’ajout d’espace de swap traditionnel peut être particulièrement utile sur les systèmes avec de faibles quantités de RAM. (Une telle augmentation n’est normalement pas utile sur les hôtes avec de très grandes quantités de RAM.)

    Si vous choisissez d’augmenter le swap avec un certain type de périphérique de stockage, les disques durs fonctionnent toujours mais sont nettement plus lents que l’utilisation de SSD aux formats SATA ou m.2. Cependant, la mémoire flash des périphériques SSD a une durée de vie plus limitée que celle des périphériques HDD, de sorte que les systèmes avec de grandes quantités d’activité d’échange peuvent réduire considérablement la durée de vie d’un SSD.

    Échange de réglage

    Le réglage de l’espace d’échange ne se résume pas à la simple allocation d’une quantité spécifique d’espace d’échange. D’autres facteurs peuvent être utilisés pour gérer la manière dont l’espace de swap est utilisé et géré par le système. Swappiness est le principal paramètre du noyau qui peut être utilisé pour gérer les performances de swap.

    J’ai récemment écrit How I troubleshoot swappiness and startup time on Linux, dans lequel j’ai discuté de la vm.swappiness réglage du noyau. La version courte est que le paramètre par défaut de l’agressivité avec laquelle le noyau Linux force l’échange à commencer et à fonctionner est de 60. Zéro (0) est le moins agressif et 100 (ou 200, selon ce que vous lisez) est le plus agressif. À ce niveau, je rencontrais des retards lorsque je travaillais avec de très gros documents dans LibreOffice malgré 64 Go de RAM sur mon poste de travail principal, dont une grande partie était inutilisée.

    La résolution de ce problème est de réduire le vm.swappiness paramètre du noyau à 13. Cela fonctionne bien pour mes cas d’utilisation, mais vous devrez peut-être expérimenter pour l’adapter à votre environnement. Lisez l’article lié pour les détails.

    Vous pouvez également trouver des informations plus générales sur le réglage du noyau Linux dans mon article Comment régler le noyau Linux avec le système de fichiers /proc.

    Recommandations de taille d’échange

    À l’heure actuelle, je n’ai trouvé aucune recommandation d’aucune distribution concernant la taille d’échange lors de l’utilisation de zram. Sur la base de mon expérience personnelle, j’ai trouvé qu’avoir au moins un peu d’espace d’échange peut être bénéfique. Même lorsque vous disposez de grandes quantités de RAM, le simple fait qu’un swap correctement réglé pour votre environnement soit utilisé et contienne des données peut indiquer que davantage de RAM est nécessaire.

    La taille de swap zram par défaut, répertoriée dans mon article précédent, est plus que suffisante à cette fin. Cela a bien fonctionné jusqu’à présent sur tous mes hôtes Linux.

    À mon avis, le but ultime de l’espace d’échange est d’être un petit tampon – un drapeau rouge – qui permet à l’administrateur système de savoir quand plus de RAM est nécessaire dans un système. Bien sûr, certains matériels très anciens ne peuvent pas supporter plus de 4 ou 8 Go de RAM. Dans un tel cas, une nouvelle carte mère est nécessaire – une qui prendra en charge suffisamment de RAM pour effectuer la tâche à accomplir.

    Ma recommandation est de faire comme moi. J’ai configuré le swap zram de la taille par défaut sur chacun de mes hôtes. J’ai supprimé toutes les partitions d’échange existantes (je n’utilise pas de fichiers d’échange) et mes hôtes ont tous fonctionné parfaitement avec cette configuration d’échange.

    Suppression des partitions et des fichiers d’échange traditionnels

    Parce que je viens de recommander de supprimer toutes les anciennes partitions d’échange, je dois également mentionner que le processus pour le faire n’est pas aussi simple qu’il devrait l’être. Ce n’est pas difficile, mais il m’a fallu quelques recherches pour le comprendre car il y a beaucoup d’informations anciennes et incorrectes sur Internet. Cette procédure fonctionne pour moi sur Fedora 36.

    1. Désactivez l’échange pour les partitions et les fichiers d’échange existants.

      Cela peut être fait en utilisant swapoff /dev/nameofswapdevice mais il pourrait être plus facile de simplement désactiver tous les échanges avec le swapoff -a commande. Cette commande désactive également tout swap zram existant.

    2. Supprimez les entrées pour les partitions ou les fichiers d’échange traditionnels dans le /etc/fstab dossier. Je viens de les commenter, en cas de problèmes inattendus. J’ai supprimé ces entrées plus tard. Zram swap ne nécessite pas d’entrée dans le /etc/fstab dossier.

    3. Le défaut /etc/default/grub Le fichier de configuration est simple et vous n’avez qu’à vous préoccuper d’une seule ligne :

      GRUB_TIMEOUT=5
      GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
      GRUB_DEFAULT=saved
      GRUB_DISABLE_SUBMENU=true
      GRUB_TERMINAL_OUTPUT="console"
      GRUB_CMDLINE_LINUX="resume=/dev/mapper/vg01-swap \
      rd.lvm.lv=vg01/root rd.lvm.lv=vg01/swap \
      rd.lvm.lv=vg01/usr rhgb quiet"
      GRUB_DISABLE_RECOVERY="true"
      GRUB_ENABLE_BLSCFG=true

      Changer la GRUB_CMDLINE_LINUX ligne vers :

      GRUB_CMDLINE_LINUX="rd.lvm.lv=vg01/root rd.lvm.lv=vg01/usr"

      Suppression resume=/dev/mapper/vg01-swap et rd.lvm.lv=vg01/swap empêche le noyau de rechercher le volume d’échange.

    4. Vous devez enregistrer ces modifications avec grub2-mkconfig. Tout d’abord, faites une sauvegarde de l’actuel /boot/grub2/grub.cfg fichier, puis exécutez la commande suivante :

    # grub2-mkconfig > /boot/grub2/grub.cfg

    Dépannage de zram

    Il est important de suivre tout de ces étapes. Suppression rhgb quiet provoque l’affichage de tous les messages de démarrage du noyau et des messages de démarrage de systemd. Cela peut faciliter la localisation rapide des problèmes lors des phases de démarrage et de démarrage.

    Lorsque j’ai essayé cela pour la première fois, j’ai supprimé le volume logique que j’avais désigné comme espace d’échange, puis j’ai redémarré pour tester. Le redémarrage a échoué et s’est bloqué au début du processus de démarrage.

    Heureusement, j’ai configuré le noyau pour qu’il affiche les messages de démarrage et de démarrage plutôt que le démarrage graphique. En conséquence, j’ai pu voir le message d’erreur indiquant que le noyau n’a pas pu trouver le volume d’échange.

    Si cela vous arrive parce que vous avez manqué une étape, démarrez à partir d’un lecteur USB Live Fedora et créez un nouveau volume d’échange. Il n’est pas nécessaire de faire autre chose. Ensuite, redémarrez et supprimez les entrées d’échange dans la ligne du noyau de /etc/defaults/grub.

    Utiliser uniquement l’échange de zram

    Après avoir supprimé les partitions d’échange et régénéré la configuration GRUB, j’ai exécuté swapon -a et vérifié avec swapon -show et lsblk. Le redémarrage du système m’a donné une dernière assurance que le système a démarré correctement et que le seul échange est l’échange zram.

    Zram est un outil destiné à créer un espace d’échange virtuel compressé. La configuration d’échange idéale dépend de votre cas d’utilisation et de la quantité de RAM physique de votre ordinateur hôte. Quelle que soit la combinaison de zram, de partitions d’échange et de fichiers d’échange que vous utilisez pour l’échange, vous devez toujours expérimenter avec vos propres charges système et vérifier que votre configuration d’échange fonctionne pour vous. Cependant, l’utilisation du swap zram par défaut sans partitions ou fichiers de swap traditionnels fonctionne aussi bien pour moi – ainsi que toute autre configuration de swap que j’ai jamais utilisée, et mieux que beaucoup.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code