Commande Linux free : Surveiller la mémoire système

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce TP consacré à la commande Linux free. Au cours de cette session, vous apprendrez à utiliser la commande free pour surveiller et analyser l'utilisation de la mémoire de votre système. Cette compétence est essentielle pour les administrateurs système et les développeurs qui doivent optimiser les performances du système et résoudre les problèmes liés à la mémoire.

Imaginez que vous êtes un administrateur système junior chargé de surveiller l'utilisation de la mémoire d'un serveur web très sollicité. La commande free sera votre outil principal pour cette tâche, vous permettant d'évaluer rapidement l'état actuel de la mémoire et d'identifier les problèmes potentiels avant qu'ils n'affectent les performances du système.

Utilisation de base de la commande free

Commençons par utiliser la commande free dans sa forme la plus simple. Cela nous donnera un aperçu global de l'utilisation de la mémoire du système.

Tout d'abord, ouvrez un terminal si ce n'est pas déjà fait. Ensuite, exécutez la commande suivante :

free

Vous devriez voir un résultat similaire à celui-ci :

              total        used        free      shared  buff/cache   available
Mem:        8167004     2524956     3300280      658636     2341768     4657560
Swap:       2097152           0     2097152

Ce résultat fournit un instantané de l'utilisation de la mémoire de votre système. Décomposons la signification de chaque colonne :

  • total : La quantité totale de RAM physique et d'espace d'échange (swap).
  • used : La quantité de RAM actuellement utilisée.
  • free : La quantité de RAM qui est totalement inutilisée.
  • shared : La quantité de RAM utilisée par tmpfs.
  • buff/cache : La quantité de RAM utilisée pour les tampons et le cache.
  • available : Une estimation de la mémoire disponible pour lancer de nouvelles applications.

Le résultat est divisé en deux lignes :

  • Mem : Affiche les informations relatives à la RAM physique.
  • Swap : Affiche les informations relatives à l'espace d'échange (mémoire virtuelle).

Par défaut, toutes les valeurs sont affichées en octets.

Affichage des informations de mémoire dans un format lisible

Bien que la sortie par défaut de free soit précise, elle peut être difficile à lire rapidement. Utilisons l'option -h pour afficher les informations dans un format plus lisible par l'homme.

Exécutez la commande suivante :

free -h

Vous devriez maintenant voir un résultat similaire à celui-ci :

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

L'option -h (qui signifie "human-readable") adapte automatiquement les nombres et ajoute les suffixes d'unité appropriés (G pour gigaoctets, M pour mégaoctets, etc.). Cela permet de comprendre beaucoup plus facilement et d'un seul coup d'œil l'utilisation de la mémoire de votre système.

Remarquez que les valeurs sont désormais affichées avec des unités telles que Gi (gibioctets) et Mi (mébioctets). Ce sont des unités binaires, où 1 Gi = 1024 Mi, ce qui correspond à la manière standard dont les ordinateurs mesurent la mémoire.

Affichage des informations de mémoire en mégaoctets

Parfois, vous souhaiterez peut-être visualiser les informations de mémoire dans une unité spécifique. Utilisons l'option -m pour afficher les informations en mégaoctets.

Exécutez la commande suivante :

free -m

Votre résultat devrait ressembler à ceci :

              total        used        free      shared  buff/cache   available
Mem:           7975        2466        3222         642        2286        4548
Swap:          2047           0        2047

L'option -m force free à afficher toutes les valeurs en mégaoctets. Cela peut être utile lorsque vous avez besoin de plus de précision que ce que propose l'option -h, tout en conservant des nombres faciles à lire.

Notez qu'il s'agit de mébioctets (MiB), où 1 MiB = 1 048 576 octets, et non de mégaoctets (MB) où 1 MB = 1 000 000 octets. En pratique, la différence est suffisamment minime pour qu'ils soient souvent utilisés de manière interchangeable.

Surveillance continue avec la commande free

Dans des situations réelles, vous devez souvent surveiller l'utilisation de la mémoire au fil du temps. La commande free permet de le faire avec l'option -s (secondes), qui actualise l'affichage à intervalles réguliers.

Surveillons l'utilisation de la mémoire toutes les 3 secondes pour un total de 5 mises à jour :

free -h -s 3 -c 5

Cette commande utilise plusieurs options :

  • -h : Affichage dans un format lisible.
  • -s 3 : Mise à jour toutes les 3 secondes.
  • -c 5 : Arrêt après 5 mises à jour.

Vous devriez voir un résultat qui s'actualise toutes les 3 secondes, semblable à ceci :

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

...

Cette surveillance continue peut vous aider à observer l'évolution de l'utilisation de la mémoire, ce qui est particulièrement utile pour identifier des fuites de mémoire ou comprendre les modes de consommation de mémoire d'applications spécifiques.

Appuyez sur Ctrl+C si vous souhaitez arrêter la commande avant la fin des 5 mises à jour.

Affichage de l'utilisation totale de la mémoire

Par défaut, la commande free affiche l'utilisation de la mémoire en séparant les tampons (buffers) et le cache. Cependant, vous pourriez parfois vouloir voir l'utilisation totale de la mémoire incluant ces éléments. Pour cela, nous pouvons utiliser l'option -t.

Exécutez la commande suivante :

free -h -t

Votre résultat devrait ressembler à ceci :

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi
Total:        9.8Gi       2.4Gi       5.1Gi

L'option -t ajoute une ligne "Total" en bas, qui additionne l'utilisation de la mémoire vive et de l'espace d'échange. Cela vous donne un aperçu rapide de la mémoire totale de votre système, incluant à la fois la RAM physique et le swap.

Dans ce résultat :

  • La ligne "Mem:" indique l'utilisation de la RAM physique.
  • La ligne "Swap:" indique l'utilisation de l'espace d'échange.
  • La ligne "Total:" indique la somme de la RAM physique et du swap.

Cette vue d'ensemble est particulièrement utile pour comprendre la capacité globale et l'utilisation de la mémoire de votre système en un clin d'œil.

Résumé

Félicitations ! Vous avez terminé ce TP sur l'utilisation de la commande free pour surveiller la mémoire système. Récapitulons ce que vous avez appris :

  1. Utilisation de base de la commande free pour afficher les informations de mémoire.
  2. Utilisation de l'option -h pour afficher la mémoire dans un format lisible par l'homme.
  3. Utilisation de l'option -m pour afficher les informations de mémoire en mégaoctets.
  4. Surveillance continue de l'utilisation de la mémoire avec les options -s et -c.
  5. Affichage de l'utilisation totale de la mémoire, incluant le swap, avec l'option -t.

Ces compétences seront précieuses pour surveiller et gérer les ressources système, en particulier dans les scénarios où vous devez optimiser les performances ou diagnostiquer des problèmes liés à la mémoire.

Voici quelques options supplémentaires de la commande free que nous n'avons pas abordées dans ce TP :

  • -b : Affiche la quantité de mémoire en octets.
  • -k : Affiche la quantité de mémoire en kilooctets.
  • -g : Affiche la quantité de mémoire en gigaoctets.
  • -w : Utilise un format de sortie large (wide).
  • -s : Met à jour l'affichage toutes les [SEC] secondes.
  • --si : Utilise des puissances de 1000 au lieu de 1024.

N'oubliez pas qu'une gestion efficace de la mémoire est cruciale pour maintenir les performances et la stabilité du système. Une surveillance régulière avec la commande free peut vous aider à détecter et à prévenir les problèmes de mémoire avant qu'ils n'impactent les performances de votre système.