Lors du dépannage d'un ralentissement ou d'un mauvais comportement 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
Commande #
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 invoqué avec le -h
option qui signifie imprimer la sortie dans un format lisible par l'homme :
free -h
total used free shared buff/cache available
Mem: 3936 1087 252 130 2596 2427
Swap: 0 0 0
Voici la signification de chaque colonne :
- totale - 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
- gratuit - Mémoire libre/inutilisée.
- partagé - Cette colonne peut être ignorée; il n'est affiché qu'à des fins de rétrocompatibilité.
- 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 échange.
Le free
La commande imprime des informations pour la mémoire physique et le swap système.
top
Commande #
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 invoquer la commande, tapez simplement top
:
top
La sortie ressemblera à ceci :
L'en-tête de la sortie comprend des informations sur la mémoire physique et d'échange totale, libre et utilisée du système.
Le %MEM
La colonne 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 de /proc/meminfo
fichier virtuel. Ce fichier est utilisé par le free
, top
, ps
, et d'autres commandes d'informations système.
Utiliser less
ou cat
pour voir le contenu du /proc/meminfo
fichier :
cat /proc/meminfo
Le fichier comprend une grande quantité d'informations sur la mémoire système et l'utilisation du swap :
MemTotal: 4030592 kB
MemFree: 401804 kB
MemAvailable: 2507504 kB
...
Les informations de /proc/meminfo
le fichier peut être analysé et utilisé dans des scripts shell.
ps_mem
Scénario #
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
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 used Program
...
11.9 MiB + 20.2 MiB = 32.1 MiB nginx (4)
8.2 MiB + 42.4 MiB = 50.6 MiB systemd-journald
55.8 MiB + 307.2 MiB = 363.0 MiB php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB redis-server
578.2 MiB + 578.6 MiB = 1.1 GiB mysqld
---------------------------------
2.2 GiB
=================================
Ce script est utile lorsque vous souhaitez savoir quel programme en cours d'exécution utilise le plus de 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.
Si vous avez des questions ou des remarques, veuillez laisser un commentaire ci-dessous.