GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier la taille totale de la RAM et l'utilisation de la mémoire sous Linux

De nombreuses commandes peuvent être utilisées pour identifier la taille totale de la mémoire RAM installée et vérifier la quantité de mémoire libre et utilisée dans le système d'exploitation Linux, comme Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu, etc.

La mémoire est l'une des ressources critiques d'un ordinateur, en particulier d'un serveur, car suffisamment de mémoire garantit que les applications peuvent se voir allouer la mémoire dont elles ont besoin pour effectuer l'opération avant de passer sur le disque, ce qui est beaucoup plus lent, ce qui entrave le temps de réponse.

Comme l'interface graphique n'est pas toujours disponible, en particulier pour les utilisateurs Linux qui utilisent fréquemment SSH ou Telnet sur un système distant, ce didacticiel se concentre sur les options de ligne de commande pour connaître l'utilisation et l'état de la mémoire sous Linux, y compris la RAM et le swap.

1. commande gratuite

La commande free affiche la quantité totale de mémoire physique et d'échange libre et utilisée dans le système, ainsi que les tampons et les caches utilisés par le noyau. Les informations sont recueillies en parsant /proc/meminfo. Les informations affichées sont :

  • total :mémoire totale installée (MemTotal et SwapTotal dans /proc/meminfo)
  • utilisé :mémoire utilisée (calculée comme total – libre – tampons – cache)
  • free :mémoire inutilisée (MemFree et SwapFree dans /proc/meminfo)
  • partagé :mémoire utilisée (principalement) par tmpfs (Shmem dans /proc/meminfo, disponible sur les noyaux 2.6.32, affiché à zéro s'il n'est pas disponible)
  • tampons :mémoire utilisée par les tampons du noyau (tampons dans /proc/meminfo)
  • cache :mémoire utilisée par le cache de la page et les slabs (Cached et Slab dans /proc/meminfo)
  • buff/cache :somme des tampons et du cache
  • disponible :estimation de la quantité de mémoire disponible pour démarrer de nouvelles applications, sans échange. Contrairement aux données fournies par le cache ou les champs libres, ce champ prend en compte le cache de page et également que toutes les dalles de mémoire récupérables ne seront pas récupérées en raison des éléments en cours d'utilisation (MemAvailable dans /proc/meminfo, disponible sur les noyaux 3.14, émulé sur noyaux 2.6.27+, sinon identique à gratuit)

Exemple de sortie :

              total        used        free      shared  buff/cache   available
Mem:       24512912      253112    23761468       41484      498332    23873560
Swap:      12387324           0    12387324
ConseilL'option par défaut affiche la mémoire en Ko (kilo-octets). Pour afficher en Mo (mégaoctets), utilisez "free -m".

2. Commande vmstat

vmstat rapporte des informations sur les processus, la mémoire, la pagination, les E/S de bloc, les interruptions, les disques et l'activité du processeur. Les informations suivantes sont affichées par défaut :

Procédures
r :le nombre de processus exécutables (en cours d'exécution ou en attente d'exécution).
b :Le nombre de processus en veille ininterrompue.

Mémoire
swpd :la quantité de mémoire virtuelle utilisée.
free :la quantité de mémoire inactive.
buff :la quantité de mémoire utilisée comme tampons.
cache :la quantité de mémoire utilisée comme cache.
inact :la quantité de mémoire inactive. (option -a)
active :la quantité de mémoire active. (option -a)

Échanger
si :quantité de mémoire échangée à partir du disque (/s).
donc :Quantité de mémoire échangée sur le disque (/s).

OI
bi :Blocs reçus d'un périphérique bloc (blocs/s).
bo :Blocs envoyés à un périphérique de bloc (blocs/s).

Système
in :Le nombre d'interruptions par seconde, y compris l'horloge.
cs :le nombre de changements de contexte par seconde.

CPU
Ce sont des pourcentages du temps CPU total.
us :temps passé à exécuter du code non-noyau. (temps d'utilisation, y compris le temps agréable)
sy :temps passé à exécuter le code du noyau. (Le temps du système)
id :temps passé inactif. Avant Linux 2.5.41, cela inclut le temps d'attente d'E/S.
wa :Temps passé à attendre IO. Avant Linux 2.5.41, inclus dans idle.
st :Temps volé à une machine virtuelle. Avant Linux 2.6.11, inconnu.

Exemple de sortie :

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 23760168  62096 438828    0    0     0     0    4    4  0  0 100  0  0

3. Commande supérieure

La commande top est principalement utilisée pour afficher une vue dynamique en temps réel d'un système en cours d'exécution, en particulier les processus Linux ou les threads actuellement gérés par le noyau Linux. Mais il affiche également des informations récapitulatives sur le système, y compris la mémoire RAM et la taille d'échange libre et utilisée.

Pour quitter le programme principal, appuyez sur Ctrl + c , ou simplement q .
Exemple de sortie :

top - 09:55:34 up 20:23,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 188 total,   2 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 24512912 total, 23758072 free,   252420 used,   502420 buff/cache
KiB Swap: 12387324 total, 12387324 free,        0 used. 23873892 avail Mem

4. /proc/meminfo

Comme vous pouvez le voir dans les commandes ci-dessus, la plupart des utilitaires s'appuient sur /proc/meminfo pour signaler la quantité de mémoire libre et utilisée et d'espace d'échange dans le système. /proc/meminfo est un fichier virtuel qui contient des statistiques dynamiques sur l'utilisation de la mémoire par le noyau et le système.

Pour afficher le contenu de /proc/meminfo, utilisez l'une des commandes suivantes et toute autre que vous préférez :

cat /proc/meminfo
more /proc/meminfo
less /proc/meminfo

5. au sommet de la commande

atop est un moniteur interactif pour visualiser la charge sur un système Linux qui est similaire à top. Il montre l'occupation des ressources matérielles les plus critiques (du point de vue des performances) au niveau du système, c'est-à-dire le processeur, la mémoire, le disque et le réseau. atop n'est pas installé par défaut sur la plupart des distributions Linux, donc si vous voulez l'utiliser, vous devez installer atop manuellement.

6. Commande htop

htop est un visualiseur de processus interactif pour les systèmes Unix, qui est similaire à top mais fournit des informations plus détaillées. Il s'agit d'une application en mode texte (pour console ou terminaux X) et nécessite ncurses. htop n'est pas installé par défaut sur la plupart des distributions Linux, donc si vous voulez l'utiliser, vous devez l'installer manuellement.

Informations sur la RAM physique

Si vous souhaitez en savoir plus sur les modules DIMM RAM physiques installés sur le système, utilisez dmidecode (décodeur de table DMI), un outil permettant de vider le contenu de la table DMI (ou SMBIOS) d'un ordinateur dans un format lisible par l'homme. Ce tableau contient une description des composants matériels du système, ainsi que d'autres informations utiles telles que les numéros de série et la révision du BIOS.

Pour utiliser dmidecode pour afficher les modules de RAM physiques, utilisez l'une des commandes suivantes :

$sudo dmidecode --type memory
$ sudo dmidecode -t 17

Exemple de sortie :

# dmidecode 3.0
Scanning /dev/mem for entry point.
SMBIOS 2.6 present.

Handle 0x001C, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x001A
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: DIMM
        Set: None
        Locator: CPU0
        Bank Locator: DIMM01
        Type: Other
        Type Detail: Other
        Speed: 1066 MHz
        Manufacturer: Samsung
        Serial Number: 88XX8X88
        Asset Tag: AssetTagNum01
        Part Number: M888MXXXXMM8-MM8
        Rank: Unknown

Linux
  1. Utilisation de la mémoire Linux

  2. Comment vérifier l'utilisation de la mémoire du processus avec la commande Linux pmap

  3. Comment vérifier la taille de la RAM dans la ligne de commande Linux en Go

  4. comment vérifier la taille du tas allouée pour jvm par linux

  5. Comment l'utilisation de la mémoire est-elle signalée sous Linux ?

Comment vérifier l'utilisation de la mémoire dans Debian 10

Comment trouver les principaux processus en cours d'exécution par utilisation de la mémoire et du processeur sous Linux

Comment vérifier l'utilisation de la mémoire sous Linux ? Utilisez ces 5 commandes

Comment vérifier l'utilisation ou l'utilisation du processeur Linux

Comment vérifier la taille des fichiers et du répertoire sous Linux

Trouver la taille de la RAM sous Linux