Maison  >  Article  >  Opération et maintenance  >  Quelle est la commande pour visualiser la mémoire sous Linux ?

Quelle est la commande pour visualiser la mémoire sous Linux ?

青灯夜游
青灯夜游original
2020-08-21 13:46:386343parcourir

La commande pour afficher la mémoire est la commande gratuite. La commande Linux free peut afficher l'utilisation de la mémoire système, y compris la mémoire physique, la mémoire d'échange (swap) et la mémoire tampon du noyau.

Quelle est la commande pour visualiser la mémoire sous Linux ?

Recommandation de cours : "cours Linux "

Sous Linux, nous utilisons souvent la commande top pour afficher les processus système . top peut également afficher la mémoire système. L'outil spécial que nous utilisons couramment pour afficher du contenu sous Linux est la commande gratuite.

Explication détaillée de la commande free memory view sous Linux :

Pour visualiser la mémoire sous Linux, on utilise généralement la commande free :

$ free
             total       used       free     shared    buffers     cached
Mem:       3266180    3250004      16176          0     110652    2668236
-/+ buffers/cache:     471116    2795064
Swap:      2048276      80160    1968116

Le Voici la vue de la mémoire libre Explication du résultat de la commande :

  • total : taille totale de la mémoire physique.
  • utilisé : Quelle taille a été utilisée.
  • gratuit : Combien sont disponibles.
  • Partagé : la quantité totale de mémoire partagée par plusieurs processus.
  • Buffers/cached : La taille du cache disque.

La troisième ligne (-/+ buffers/cached) :

  • used : Quelle taille a été utilisée.
  • gratuit : Combien sont disponibles.

La quatrième ligne ne nécessite pas beaucoup d'explications.

-/+ buffers/cache signification et différence :

La différence entre used/free dans la deuxième ligne (mem) et used/free dans la troisième ligne (-/+ buffers/cache ) est du point de vue de l'utilisation :

  • La deuxième ligne est du point de vue du système d'exploitation, car pour le système d'exploitation, les tampons/cachés Ils sont tous utilisés, donc sa mémoire disponible est de 16 176 Ko et sa mémoire utilisée est de 3 250 004 Ko, y compris le noyau (OS) utilisant +Application(X, oracle, etc) utilise +buffers+cached.
  • La troisième ligne fait référence au point de vue de l'application, pour l'application, buffers/cached est égal à disponible, car buffer/cached est Afin d'améliorer les performances de la lecture du fichier, le tampon/mis en cache sera recyclé rapidement lorsque l'application aura besoin d'utiliser de la mémoire.

Donc, du point de vue de l'application, mémoire disponible = mémoire libre du système + tampons + cache.

Comme dans l'exemple ci-dessus :

  • 2795064=16176+110652+2668236

Comment échanger de la mémoire

Ensuite, nous expliquons quand la mémoire sera échangée et de quelle manière. Lorsque la mémoire disponible est inférieure à la valeur nominale, un échange se produit. Comment vérifier la note :

cat /proc/meminfo

Le résultat est :

$ cat /proc/meminfo
MemTotal:      3266180 kB
MemFree:         17456 kB
Buffers:        111328 kB
Cached:        2664024 kB
SwapCached:          0 kB
Active:         467236 kB
Inactive:      2644928 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      3266180 kB
LowFree:         17456 kB
SwapTotal:     2048276 kB
SwapFree:      1968116 kB
Dirty:               8 kB
Writeback:           0 kB
Mapped:         345360 kB
Slab:           112344 kB
Committed_AS:   535292 kB
PageTables:       2340 kB
VmallocTotal: 536870911 kB
VmallocUsed:    272696 kB
VmallocChunk: 536598175 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB

Le résultat de l'utilisation de free -m :

[root@scs-2 tmp]# free -m
             total       used       free     shared    buffers     cached
Mem:          3189       3173         16          0        107       2605
-/+ buffers/cache:        460       2729
Swap:         2000         78       1921

Afficher la taille du fichier /proc/kcore ( miroir de mémoire) :

$ ll -h /proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore

Remarque :

Mesure de la mémoire occupée
Pour mesurer la quantité de mémoire qu'un processus occupe, Linux nous fournit une méthode très pratique Le répertoire /proc nous fournit. avec toutes les informations, en fait, les outils top et autres les utilisent également pour obtenir les informations correspondantes.

  • /proc/meminfo Informations sur l'utilisation de la mémoire de la machine
  • /proc/pid/maps pid est le numéro de processus, indiquant l'adresse virtuelle occupée par le processus en cours.
  • /proc/pid/statm Mémoire occupée par le processus
$ cat /proc/self/statm
654 57 44 0 0 334 0

Explication de la sortie

CPU et CPU0. . . La signification de chaque paramètre dans chaque ligne (en prenant la première ligne comme exemple) est :

Explication du paramètre/proc/status

Taille (pages) La taille de l'espace d'adressage virtuel de la tâche VmSize /4

Résident(pages) La taille de la mémoire physique utilisée par l'application VmRSS/4

Partagé(pages) Le nombre de pages partagées 0

Trs( pages) L'exécutable appartenant au programme La taille de la mémoire virtuelle VmExe/4

Lrs(pages) La taille de la bibliothèque qui est mappée à l'espace mémoire virtuelle de la tâche VmLib/4

Drs(pages) Le segment de données du programme et la pile du mode utilisateur Taille (VmData+ VmStk) 4

dt(pages) 04

Afficher la mémoire disponible de la machine

/proc/ 28248/>gratuit

total utilisé tampons partagés gratuits mis en cache

Mem : 1023788 926400 97388 0 134668 503688

-/+ tampons/cache : 288044 735744

Swap : 1959920 89608 1870312

Résumé de la vérification de la mémoire et de l'utilisation de la mémoire sous Linux :

Lorsque nous vérifions la mémoire libre de la machine via la commande free, nous constatera que la valeur de la gratuité est très faible. Cela est principalement dû au fait que Linux pense que la mémoire n'est pas utilisée en vain, elle met donc en cache et met en mémoire tampon certaines données autant que possible pour faciliter la prochaine utilisation. Mais en réalité, ces mémoires peuvent être utilisées immédiatement.

So free memory=free+buffers+cached=total-used

Recommandations associées : "Exploitation et maintenance Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn