Comment libérer les buffers et les caches de Linux

Comment libérer les buffers et les caches de Linux
Index

Pour optimiser les performances de Linux, apprendre à libérer efficacement le cache et les tampons à l'aide du terminal est essentiel, malgré les risques liés à cette opération.

Les utilisateurs peuvent vouloir libérer de l'espace dans le tampon et le cache Linux s'ils pensent que cela prend trop de place dans la RAM. Cela est généralement dû au fait qu'ils sont habitués à des environnements Windows ou Macintosh qui ne mettent pas en cache aussi agressivement. Faire cela peut en réalité réduire les performances. Cependant, il est bon de synchroniser la RAM et le stockage sur disque, ce qui est souvent considéré comme une manière de libérer les caches Linux, même si ce n'est pas d'un point de vue très technique.

Vous aurez besoin de travailler à partir d'un terminal pour cette technique. Recherchez "terminal" dans le tableau de bord Ubuntu ou maintenez simultanément Ctrl, Alt et T. Les utilisateurs de LXDE, Xfce4 et KDE peuvent vouloir cliquer sur le menu Applications ou Whisker, pointer vers Outils système et ouvrir le Terminal.

Méthode 1 : Utiliser la commande sync

Dans de nombreux cas, les utilisateurs veulent en réalité synchroniser les écritures mises en cache vers le dispositif de stockage persistant sous-jacent qui conserve les données. Cela signifie que tout changement apporté aux tampons de fichiers en mémoire est mis à jour sur le disque, donc si le système tombait en panne à ce moment-là, vous auriez de bonnes chances d'avoir tout à jour. Si ce concept vous semble un peu avancé, rappelez-vous simplement que cela rend les informations dans votre RAM identiques aux informations sur votre disque ou SSD.

Invoquer la commande sync sans aucun autre argument fait exactement cela. Elle met à jour les fichiers sur le disque avec toutes les modifications en attente d'être écrites. Tapez sync à la ligne de commande et appuyez sur Entrée. Vous ne verrez aucune sortie et vous pouvez le faire après l'exécution de toute commande précédente.

Cette méthode est incroyablement simple car elle nécessite que vous appreniez un seul mot. Contrairement à d'autres méthodes, il est tout à fait sûr de le faire à tout moment et cela ne réduira pas les performances, sauf pendant quelques instants pendant que la synchronisation vers le disque a lieu. Si vous avez déplacé un certain nombre de fichiers entre des disques externes et que vous souhaitez vous assurer que toutes les écritures sont effectuées, libérez les tampons Linux en tapant sync et en appuyant sur Entrée. Toutes les autres méthodes servent strictement à effectuer des benchmarks. Si vous avez déjà entendu parler de secteurs sales, alors c'est une solution à ce problème. Linux conserve parfois des fichiers en mémoire mais indique au reste du système d'exploitation qu'ils sont sur le disque, mais exécuter sync garantit que ces modifications sont également mises à jour sur le disque. Cela ne les retire pas de la RAM, donc elles seront toujours offertes à d'autres programmes qui ont besoin d'y accéder sans ralentir les choses.

Méthode 2 : Libérer complètement les tampons Linux

Veuillez garder à l'esprit avant d'aller plus loin que la Méthode 1 est presque toujours préférée, car Linux met en cache de manière agressive pour faire fonctionner votre appareil plus rapidement. Vous voudrez presque toujours juste exécuter sync pour des raisons de sécurité afin de vous assurer que toutes les écritures sur le disque sont terminées. Si vous essayez de réaliser un benchmark matériel ou quelque chose de similaire, il existe une manière de libérer complètement les caches Linux.

Assurant que vous comprenez pleinement le danger de faire cela, exécutez free && sync && echo 3 > /proc/sys/vm/drop_caches && free dans le terminal. Comme c'est une longue commande, vous voudrez peut-être la surligner ici et la copier. Pour la coller dans le terminal, utilisez soit l'option Coller dans le menu Édition, soit contrairement à sync tout seul, vous devrez exécuter cela à partir d'un prompt root. Mettez sudo devant la commande si vous êtes connecté en tant qu'utilisateur normal. Cette ligne garantit que vous verrez une sortie indiquant que les caches mémoire sont en train d'être vidés.

Encore une fois, la seule raison pour laquelle vous voudriez faire cela est pour réaliser des benchmarks. Vous pourriez remarquer une réelle perte de performance une fois que vous avez fait cela car vous videz toutes les données que Linux a travaillé dur à mettre en cache. Vous pourriez également désactiver le swap en tapant sudo swapoff -a et le réactiver avec sudo swapon -a, mais encore une fois, cela nécessite un accès root et la seule fois où vous voudriez faire cela est si vous êtes un développeur essayant de réaliser de véritables benchmarks matériels pour un utilitaire ou un processus de système de fichiers. Tout le monde d'autre voudra simplement exécuter sync tout seul en tant qu'utilisateur normal sans accès root pour s'assurer que tous les secteurs sales sont écrits sur le disque.

Questions et réponses essentielles à connaître

Comment vider le cache Linux ?

Pour vider le cache sur Linux, vous pouvez suivre ces étapes simples :

  • Ouvrir le Terminal :
      • - Appuyez simultanément sur les touches

    Ctrl + Alt + T

      .
  • Utiliser les commandes appropriées :
  • Selon le service que vous utilisez, entrez l'une des commandes suivantes :
  • Pour NSCD (Name Service Cache Daemon) : sudo nscd -i hosts
  • Pour systemd-resolved : sudo systemd-resolve --flush-caches
  • Pour Dnsmasq : sudo systemctl restart dnsmasq
  • Pour la mémoire cache des fichiers système : sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches Veillez à avoir les droits d'administrateur puisque certaines commandes requièrent l'utilisation de sudo.

Comment libérer la mémoire cache sous Linux  ?

Pour libérer la mémoire cache sous Linux, suivez ces étapes simples :

  • Ouvrir le terminal : Assurez-vous d'avoir accès à un terminal avec les privilèges nécessaires.
  • Devenir super utilisateur : Exécutez la commande suivante pour obtenir les droits d'utilisateur root : bash sudo su
  • Vider le cache : Utilisez la commande suivante pour vider le cache :
      - Pour libérer la mémoire cache des pages : bash echo 1 > /proc/sys/vm/drop_caches
  • Pour libérer les caches d'inodes et de dentries : bash echo 2 > /proc/sys/vm/drop_caches
  • Pour libérer tout le cache : bash echo 3 > /proc/sys/vm/drop_caches
  • Vérification : Vous pouvez vérifier l'impact de cette opération en consultant l'utilisation de la mémoire avec : bash free -m Remarque : Libérer la mémoire cache peut affecter la performance temporairement, car cela oblige le système à recharger les données depuis le disque. Suivez ces étapes avec précaution pour garantir que les opérations de votre système restent optimales.

Qu'est-ce que le cache de buff Linux  ?

Le cache de buff sous Linux fait référence à l'utilisation de la mémoire pour les tampons et le cache du système de fichiers. Voici quelques points clés à retenir :

    • -

Fonctionnalité

    : Il stocke temporairement des données pour accélérer les lectures et écritures sur le disque, réduisant ainsi le temps d'accès aux fichiers.

  • Optimisation des performances : En utilisant le cache, le système peut réutiliser les données fréquemment consultées, ce qui améliore les performances générales du système.
  • Gestion de la mémoire : Le cache permet d'utiliser efficacement la RAM disponible, en s'assurant que la mémoire est utilisée pour les tâches les plus pertinentes.
  • Effacement dynamique : Si d'autres processus nécessitent plus de mémoire, le système peut libérer de l'espace dans le cache pour répondre à ces besoins. En résumé, le cache de buff est crucial pour la performance et l'efficacité du système sous Linux, facilitant un accès rapide aux données tout en optimisant l'utilisation de la mémoire.

Comment vider le cache sur un serveur Linux  ?

Pour vider le cache sur un serveur Linux, vous pouvez utiliser les commandes suivantes :

  • Ouvrir le terminal : Connectez-vous à votre serveur via SSH ou ouvrez un terminal directement.
  • Vider le cache :
      - Pour effacer tous les caches (cache de page, entrées et inodes), exécutez la commande suivante : bash sudo sysctl -w vm.drop_caches=3
  • Réinitialiser le paramètre de cache : Si vous voulez remettre le paramètre à sa valeur par défaut, utilisez : bash sudo sysctl -w vm.drop_caches=0 Remarques :
  • Il est conseillé de ne pas vider le cache de manière régulière, car cela peut nuire aux performances du système.
  • Assurez-vous d'avoir les privilèges nécessaires (sudo) pour exécuter ces commandes. Ces étapes vous permettront de gérer efficacement le cache sur votre serveur Linux.

Maintenant que tu as fini de lire Comment libérer les buffers et les caches de Linux, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!

Go up