Lors du dépannage d’un ralentissement ou d’une mauvaise conduite du système ou de l’application, l’une des premières choses à vérifier est l’utilisation de la mémoire système.
Cet article explique comment vérifier l’utilisation de la RAM sous Linux à l’aide de plusieurs commandes différentes.
free Command #
free
est la commande la plus couramment utilisée pour vérifier l’utilisation de la mémoire d’un système Linux. Il affiche des informations sur la mémoire totale, utilisée et libre.
Généralement, free
est appelé avec l’option -h
qui signifie imprimer la sortie dans un format lisible par l’homme:
free -h
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
Voici ce que chaque colonne moyenne :
- total – La quantité totale de mémoire pouvant être utilisée par les applications.
- utilisé – Mémoire utilisée. Il est calculé comme suit:
used = total - free - buffers - cache
- free – Mémoire libre / inutilisée.
- partagé – Cette colonne peut être ignorée ; elle est affichée uniquement pour la compatibilité descendante.
- buff/cache – La mémoire combinée utilisée par les tampons du noyau et le cache de page et les dalles. Cette mémoire peut être récupérée à tout moment si nécessaire par les applications.
- disponible – Une estimation de la mémoire disponible pour démarrer de nouvelles applications, sans permutation.
La commande free
imprime des informations pour la mémoire physique et l’échange système.
top Command #
top
est un utilitaire de ligne de commande qui affiche des informations en temps réel sur les processus en cours d’exécution. Il affiche également le résumé du système, y compris l’utilisation de la mémoire.
Pour appeler la commande, tapez simplement top
:
free -h
La sortie ressemblera à ceci :
L’en-tête de la sortie contient des informations sur la mémoire physique et d’échange totale, libre et utilisée du système.
La colonne %MEM
fournit des informations sur la part utilisée de la mémoire physique disponible pour chaque processus en cours d’exécution.
/proc/meminfo#
Le moyen le plus simple de vérifier l’utilisation de la mémoire RAM est d’afficher le contenu du fichier virtuel /proc/meminfo
. Ce fichier est utilisé par les commandes free
top
ps
et d’autres informations système.
Utilisez less
ou cat
pour afficher le contenu du fichier /proc/meminfo
:
cat /proc/meminfo
Le fichier comprend une grande quantité d’informations sur la mémoire système et l’utilisation du swap:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
Les informations du fichier /proc/meminfo
peuvent être analysées et utilisées dans des scripts shell.
Script ps_mem #
ps_mem
est un script Python qui signale l’utilisation de la mémoire RAM par programme. Il fonctionne avec Python 2 et 3 et peut être installé avec pip
:
sudo pip3 install ps_mem
L’exécution de ps_mem
nécessite des privilèges d’administrateur:
sudo ps_mem
La sortie inclura l’utilisation de la mémoire de chaque programme en cours d’exécution dans l’ordre croissant:
Private + Shared = RAM usedProgram... 11.9 MiB + 20.2 MiB = 32.1 MiBnginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiBsystemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)233.9 MiB + 234.0 MiB = 467.9 MiBredis-server578.2 MiB + 578.6 MiB = 1.1 GiBmysqld--------------------------------- 2.2 GiB=================================
Ce script est utile lorsque vous souhaitez savoir quel programme en cours d’exécution prend la plupart de la mémoire système.
Conclusion #
Nous vous avons montré plusieurs commandes que vous pouvez utiliser pour vérifier l’utilisation de la mémoire système.