En lisant la page de manuel de la commande free sous Linux. J'ai trouvé que c'est obtenir ses informations de /proc/meminfo.
Je comprends quelques-unes des entrées, comme MemTotal
et MemFree
. Que veut dire le reste?.
cat/proc/meminfo MemTotal: 3973736 kB MemFree: 431064 kB Tampons: 46604 kB En cache: 494648 kB SwapCached: 11360 kB Actif: 2322760 kB Inactif: 933028 kB Actif (à un moment): 2057952 kB Inactif (à un moment): 679956 kB Actif (fichier): 264808 ko Inactif (fichier): 253072 ko Imprévisible: 16 ko Bloqué: 16 ko SwapTotal: 4096568 ko SwapFree: 3961748 kB Sale: 236 kB Écriture: 0 kB AnonPages: 2704520 kB Cartographie: 182240 kB . Shmem: 23372 kB Dalle: 93848 kB Récupérable: 52044 kB SUréclamation: 41804 kB KernelStack: 5064 kB PageTables: 64928 kB NFS_Unstable: 0 ko Bounce: 0 ko WritebackTmp: 0 kB CommitLimit: 6083436 kB Committed_AS: 7327800 kB VmallocTotal: 34359738367 ko. .] HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Grandes pages: 2048 kB DirectMap4k: 225280 kB DirectMap2M: 3895296 kB
La suite que j'ai obtenue de la documentation centos
La plupart des informations ici sont utilisées par les commandes free, top et ps. En fait, la sortie de la commande free est semblable en apparence au contenu et à la structure de/proc/meminfo. Mais en regardant directement dans/proc/meminfo, plus de détails sont révélés:
MemTotal - Quantité totale de RAM physique, en kilooctets.
MemFree - La quantité de RAM physique, en kilo-octets, non utilisée par le système.
Tampons - La quantité de RAM physique, en kilo-octets, utilisée pour les tampons de fichiers.
Mis en cache - La quantité de RAM physique, en kilo-octets, utilisée comme mémoire cache.
SwapCached - La quantité d'échange, en kilo-octets, utilisée comme mémoire cache.
Actif - La quantité totale de mémoire tampon ou de mémoire cache de pages, en kilo-octets, en cours d'utilisation. Cette mémoire a été utilisée récemment et n'est généralement pas récupérée à d'autres fins.
Inactif - La quantité totale de mémoire tampon ou de mémoire cache de pages, en kilo-octets, disponible et libre. C'est une mémoire qui n'a pas été utilisée récemment et qui peut être récupérée à d'autres fins.
HighTotal et HighFree - La quantité totale et libre de mémoire, en kilo-octets, qui n'est pas directement mappée dans l'espace du noyau. La valeur HighTotal peut varier en fonction du type de noyau utilisé.
LowTotal et LowFree - La quantité totale et libre de mémoire, en kilo-octets, directement mappée dans l'espace du noyau. La valeur LowTotal peut varier en fonction du type de noyau utilisé.
SwapTotal - La quantité totale de swap disponible, en kilo-octets.
SwapFree - La quantité totale de swap libre, en kilo-octets.
Dirty - La quantité totale de mémoire, en kilo-octets, en attente d'écriture sur le disque. Writeback - La quantité totale de mémoire, en kilo-octets, en cours d'écriture sur le disque.
Mapped - Quantité totale de mémoire, en kilo-octets, utilisée pour mapper des unités, des fichiers ou des bibliothèques à l'aide de la commande mmap.
Slab - La quantité totale de mémoire, en kilo-octets, utilisée par le noyau pour mettre en cache les structures de données pour son propre usage.
Committed_AS - Quantité totale de mémoire, en kilo-octets, estimée pour mener à bien la charge de travail. Cette valeur représente la valeur du scénario le plus défavorable et inclut également la mémoire d'échange. PageTables - La quantité totale de mémoire, en kilooctets, dédiée au niveau de table de page le plus bas.
VMallocTotal - Quantité totale de mémoire, en kilo-octets, de l'espace d'adressage virtuel total alloué.
VMallocUsed - Quantité totale de mémoire, en kilo-octets, d'espace d'adressage virtuel utilisé.
VMallocChunk - Le plus grand bloc de mémoire contigu, en kilo-octets, d'espace d'adressage virtuel disponible.
HugePages_Total - Le nombre total d'énormes pages pour le système. Le nombre est obtenu en divisant Hugepagesize par les mégaoctets réservés pour les pages énormes spécifiées dans/proc/sys/vm/hugetlb_pool. Cette statistique n'apparaît que sur les architectures x86, Itanium et AMD64.
HugePages_Free - Le nombre total d'énormes pages disponibles pour le système. Cette statistique n'apparaît que sur les architectures x86, Itanium et AMD64.
Hugepagesize - La taille de chaque unité d'énormes pages en kilo-octets. Par défaut, la valeur est de 4096 Ko sur les noyaux à un processeur pour les architectures 32 bits. Pour les noyaux SMP, hugemem et AMD64, la valeur par défaut est 2048 Ko. Pour les architectures Itanium, la valeur par défaut est 262144 Ko. Cette statistique n'apparaît que sur les architectures x86, Itanium et AMD64.
Ces articles ont donné une bonne explication pour quelles informations sur /proc/meminfo
http://www.redhat.com/advice/tips/meminfo.html
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-proc-meminfo.html
https://github.com/torvalds/linux/blob/master/Documentation/filesystems/proc.txt