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!