Vous avez peut-être remarqué une consommation importante de mémoire sur votre distribution Debian ou Ubuntu et vous aimeriez connaître la quantité disponible. Ou encore mieux comprendre comment celle-ci est gérée. Dans ce tutoriel, je vous explique comment vérifier l’usage de la RAM en ligne de commande sur Linux.

Vérifier la RAM sur Linux avec la commande free

La commande la plus populaire pour vérifier l’usage de la RAM sur Linux est free. Celle-ci affiche la quantité totale de mémoire utilisée et disponible sur le système.

free
Vérifier l'usage de la RAM sur Linux avec la commande free
Commande free sur Linux

Je vous conseille d’ajouter l’option -h (human readable) pour que les données soient plus facilement interprétables.

free -h
Commande free avec option -h

✏️ Note : La commande free se contente de lire le contenu du fichier /proc/meminfo et de le restituer dans un format plus facilement lisible. Je vous explique dans une autre section comment consulter le contenu de ce fichier.

La commande free retourne deux lignes d’informations :

  • Mem : affiche les données relatives à la RAM présente sur le système
  • Swap : correspond à la mémoire virtuelle gérée sur le disque dur.

La ligne qui nous intéresse pour vérifier la RAM physique sur Linux est donc la ligne Mem. Vous trouverez ainsi les colonnes suivantes :

  • total : quantité de mémoire totale installée sur le système
  • used : RAM utilisée et donc non disponible
  • free : mémoire libre et non utilisée
  • shared : mémoire utilisée la plupart du temps par tmpFS (système de fichiers temporaire)
  • buffers : mémoire tampon utilisée par le kernel
  • cache : RAM utilisée pour le cache disque (améliorer les performances du système) et récupérable à tout moment pur d’autres applications
  • buff/cache : Somme de buffers et cache
  • available : quantité de mémoire disponible sur le système

Pour connaître la quantité de mémoire disponible ou libre sur votre système Linux, vous devez donc lire l’information available.

Vous pouvez aussi ajouter l’argument t pour afficher le total de Mem + Swap.

free -ht
Commande free avec options -ht

Vérifier l’utilisation de la RAM en live avec top

top est un programme sur Linux qui affiche en temps réel les processus et les tâches en cours d’exécution. Vous pouvez vous en servir pour monitorer votre système et afficher la quantité de RAM et CPU utilisée par processus.

top
Afficher l'utilisation de la RAM par processus et en temps réel sur Linux avec commande top
La commande top sur Linux affiche la RAM totale et son utilisation par processus

Pour trier les valeurs de la consommation de RAM en pourcentage et par processus, utilisez la commande suivante :

top -o %MEM
Trier les valeurs relatives à la RAM avec top sur linux
Vérifier la RAM utilisée sur Linux avec la commande top et un tri descendant par processus

Utiliser la commande htop pour un top amélioré

Les informations affichées par htop sont similaires à top. htop fournit cependant un affichage plus agréable et des contrôles plus accessibles.

Afficher l'utilisation de la RAM par processus et en temps réel sur Linux avec programme htop
htop sur Linux fourni un format user-friendly pour lire la RAM dans le terminal de commande

Pour vérifier la RAM utilisée par processus, vous pouvez faire un tri avec la touche F6. Notez que htop n’est pas installé par défaut. Vous devez faire un apt update puis un apt install htop pour le déployer sur votre système.

Visualiser le fichier /proc/meminfo pour consulter la RAM sur Linux

Le fichier /proc/meminfo, alimenté par le kernel de Linux, contient les informations sur l’utilisation de la RAM sur Linux. La commande free, entre-autres, analyse ce fichier pour vous restituer les informations sur la mémoire disponible ou utilisée du système. Tapez la commande suivante pour visualiser son contenu :

cat /proc/meminfo

Voici un échantillon de ce qui est restitué :

MemTotal:        4026160 kB
MemFree:         3643328 kB
MemAvailable:    3724092 kB
Buffers:           13544 kB
Cached:           257060 kB
SwapCached:            0 kB
Active:            89148 kB
Inactive:         204852 kB
Active(anon):        304 kB
Inactive(anon):    23604 kB
Active(file):      88844 kB
Inactive(file):   181248 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        998396 kB
SwapFree:         998396 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         23396 kB
Mapped:            26932 kB
Shmem:               512 kB
KReclaimable:      24452 kB
Slab:              41712 kB
SReclaimable:      24452 kB
SUnreclaim:        17260 kB
KernelStack:        1408 kB
PageTables:         1404 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3011476 kB
Committed_AS:     163052 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       32588 kB
VmallocChunk:          0 kB
Percpu:              480 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:       65472 kB
DirectMap2M:     2031616 kB
DirectMap1G:     2097152 kB

L’output est relativement détaillé, mais vous pouvez bien entendu filtrer les informations qui vous intéressent avec grep :

grep MemTotal /proc/meminfo

Pourquoi Linux consomme-t-il autant de RAM ?

La gestion de la RAM sur Linux est différente de Windows. Avec une commande free ou top, vous obtenez une mémoire libre (valeur free) relativement faible. C’est parce que Linux emprunte la mémoire inutilisée pour la mise en cache du disque et améliorer les performances du système.

Vous pourriez donc penser qu’il vous manque de la RAM ? En réalité, il n’en est rien ! En effet, la RAM affectée en cache peut être redistribuée à tout moment pour les applications, lorsque cela est nécessaire. Linux fait juste travailler votre mémoire au maximum afin d’améliorer les performances générales du système.

RAM disponible sur Linux

Décortiquons l’exemple ci-dessus :

  • total : 11Gi de RAM installée sur le système
  • used : 1.7Gi de RAM est utilisée par des programmes et n’est pas disponible
  • free : 933Mi de RAM non utilisée
  • shared : 315Mi : utilisée par tmpFS
  • buff/cache : 9.0Gi de mémoire utilisée pour le cache disque, mais disponible en cas de besoins
  • available : 9.3Gi de mémoire disponible

Donc la colonne available indique que 9.3Gi de mémoire sont disponibles.

Pour vous aider à mieux comprendre, ce tableau résume comment Linux considère la mémoire utilisée et disponible et comment vous pouvez l’interpréter.

Si la mémoire estLinux considère qu’elle estVous considérez qu’elle est
utilisée par des applicationsutiliséeutilisée
utilisée par le cacheutilisée, mais disponiblelibre
non utiliséelibrelibre
Partagez cet article

Avez-vous trouvé cet article utile ?
Article utile ?

Laisser un commentaire

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