Maison  >  Article  >  Opération et maintenance  >  Explication détaillée de la commande Linux View Memory

Explication détaillée de la commande Linux View Memory

藏色散人
藏色散人original
2020-03-03 09:45:2811854parcourir

Explication détaillée de la commande Linux View Memory

commande Linux View Memory

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

Recommandé : "Tutoriel Linux"

Explication détaillée de la commande d'affichage de la mémoire libre sous Linux :

Pour afficher la mémoire sous Linux, nous utilisons 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

Ce qui suit est une explication du résultat de la commande free pour afficher la mémoire :

total : la taille totale de 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 : combien a été utilisé.

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. Parce que pour le système d'exploitation, les tampons/mis en cache sont tous utilisés, donc sa mémoire disponible est de 16 176 Ko et la mémoire utilisée est de 3 250 004 Ko. Ceux-ci incluent les +buffers+cached utilisés par le noyau (OS) +Application (X, oracle, etc.

La troisième ligne fait référence au point de vue de l'application, Buffers/cached est égal à). disponible, car le tampon/mis en cache vise à améliorer les performances de lecture des fichiers. Lorsque l'application a besoin d'utiliser de la mémoire, le tampon/mis en cache sera recyclé rapidement.

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

Comme dans l'exemple ci-dessus :

2795064=16176+110652+2668236

Comment la mémoire est échangée

Ensuite, expliquez 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 mémoire) :

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

Remarque :

Mesure de l'utilisation de la mémoire

Pour mesurer la quantité de mémoire qu'occupe un processus, Linux nous fournit une méthode très pratique, et le / Le répertoire proc nous fournit Toutes les informations sont obtenues. En fait, des outils tels que top obtiennent également les informations correspondantes via ici.

/proc/meminfo 机器的内存使用信息
/proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。
/proc/pid/statm 进程所占用的内存
$ 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 :

参数 解释 /proc/status
Size (pages) 任务虚拟地址空间的大小 VmSize/4
Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4
Shared(pages) 共享页数 0
Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4
Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4
Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4
dt(pages) 04

Afficher la mémoire disponible de la machine

/proc/28248/>free
total used free shared buffers cached
Mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
Swap: 1959920 89608 1870312

Linux afficher le résumé de la mémoire et de l'utilisation de la mémoire :

Nous Lorsque vous vérifiez la mémoire libre de la machine via la commande free, vous constaterez que la valeur de free 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

Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation du PHP chinois site web!

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