Outils pour utilisateurs

Outils du site


informatique:linux:proc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:linux:proc [2009/01/14 17:29]
benoit
informatique:linux:proc [2018/09/06 19:10] (Version actuelle)
Ligne 4: Ligne 4:
 Pour connaitre les CPUs installés sur le système Pour connaitre les CPUs installés sur le système
   cat /​proc/​cpuinfo   cat /​proc/​cpuinfo
 +
  
  
Ligne 12: Ligne 13:
  
  
 +
 +  MemTotal: ​     1036256 kB
 +  MemFree: ​       191256 kB
 +  Buffers: ​        51824 kB
 +  Cached: ​        ​468392 kB
 +  SwapCached: ​          0 kB
 +  Active: ​        ​398852 kB
 +  Inactive: ​      ​404108 kB
 +  HighTotal: ​     131008 kB
 +  HighFree: ​         256 kB
 +  LowTotal: ​      ​905248 kB
 +  LowFree: ​       191000 kB
 +  SwapTotal: ​     524280 kB
 +  SwapFree: ​      ​524280 kB
 +  Dirty: ​             44 kB
 +  Writeback: ​          0 kB
 +  AnonPages: ​     282736 kB
 +  Mapped: ​         82108 kB
 +  Slab:            22552 kB
 +  SReclaimable: ​   14468 kB
 +  SUnreclaim: ​      8084 kB
 +  PageTables: ​      2232 kB
 +  NFS_Unstable: ​       0 kB
 +  Bounce: ​             0 kB
 +  CommitLimit: ​  ​1042408 kB
 +  Committed_AS: ​  ​880596 kB
 +  VmallocTotal: ​  ​114680 kB
 +  VmallocUsed: ​     7540 kB
 +  VmallocChunk: ​  ​105972 kB
 +  HugePages_Total: ​    0
 +  HugePages_Free: ​     0
 +  HugePages_Rsvd: ​     0
 +  HugePages_Surp: ​     0
 +  Hugepagesize: ​    4096 kB
 +
 +Commençons par les premières lignes :
 +
 +  * MemTotal : la quantité de mémoire vive utilisable (ma barrette fait 1 Go (1 073 742 Ko), mais il y a quelques Mo réquisitionnés par le noyau (visiblement 12 615 Ko)).
 +  * MemFree :la quantité de mémoire vive actuellement non allouée.
 +  * Buffers : la quantité de mémoire vive actuellement allouée dans des buffers.
 +  * Cached : la quantité de mémoire actuellement utilisée en tant que cache (par exemple, des caches pour les transferts vers et depuis le disque dur).
 +  * SwapCached : la quantité de mémoire actuellement sortie du swap, mais dont une copie est toujours présente dedans.
 +  * Active : la quantité de mémoire vive récemment utilisée.
 +  * Inactive : la quantité de mémoire qui n'a pas été utilisée depuis un certain temps (le noyau pioche d'​abord dans ces pages s'il a besoin de mémoire).
 +
 +Sur une architecture x86 32 bits, la mémoire physique est séparée en trois zones. D'une part, la zone ZONE_DMA, qui correspond aux adresses physiques de 0 à 16 Mo. D'​autre part, la zone ZONE_NORMAL qui va de 16 à 896 Mo. Et enfin, la zone ZONE_HIGHMEM qui va de 896 à 4 Go (voire 64 Go avec l'​extension PAE). Sur ma machine, la mémoire vive remplie donc les 2 premières zones, plus une partie de la ZONE_HIGHMEM.
 +
 +  * HighTotal : la quantité de mémoire vive présente dans la zone ZONE_HIGHMEM.
 +  * HighFree : la quantité de mémoire vive non utilisée et présente dans la zone ZONE_HIGHMEM.
 +  * LowTotal : la quantité de mémoire vive présente dans le zone ZONE_NORMAL.
 +  * LowFree : la quantité de mémoire vive non utilisée et présente dans la zone ZONE_NORMAL.
 +
 +Vérifions :
 +
 +HighTotal + LowTotal = 131008 + 905248 = 1036256 = MemTotal
 +HighFree + LowFree = 252 + 57468 = 57720 = MemFree
 +
 +Chouette, ça colle !
 +
 +  * SwapTotal : la taille du swap.
 +  * SwapFree : la place disponible dans le swap.
 +
 +Dans mon cas, le swap n'est pas du tout utilisé (en effet, OpenOffice n'est pas encore lancé... :). C'est également vérifiable avec l'​utilitaire swapon :
 +
 +$ sudo swapon -s
 +Filename ​          ​Type ​       Size    Used Priority
 +/​dev/​mapper/​lvm-swap ​ partition ​ 524280 ​  ​0 ​  -1
 +
 +  * Dirty : la quantité de mémoire en attente d'​être écrite sur le disque.
 +  * Writeback : la quantité de mémoire qui est actuellement en train d'​être écrite sur le disque.
 +  * AnonPages : la quantité de mémoire allouée avec la fonction mmap() avec le flag MAP_ANONYMOUS.
 +  * Mapped : la quantité de mémoire allouée avec la fonction mmap() à partir de fichiers ou de devices.
 +  * Slab : la quantité de mémoire utilisée au sein du noyau, et allouée avec l'​allocateur Slab, pour ses propres objets et structures.
 +  * PageTables : la quantité de mémoire utilisée en tant que table de pages pour gérer la pagination.
 +  * Committed_AS : une estimation de la quantité maximale de mémoire utilisable avant que le noyau ne commence à swapper.
 +
 +Linux sépare la mémoire virtuelle en deux partie. Une première, de 3 Go, et qui contient l'​espace d'​adressage virtuel d'un processus. La seconde, qui elle fait 1 Go, et qui contient l'​espace d'​adressage noyau. C'est dans cet espace que seront mappés les zones ZONE_DMA et ZONE_NORMAL. Or, celles-ci ont une taille maximale cumulée de 896 Mo. Il est donc nécessaire d'​avoir un autre espace, l'​espace d'​adressage virtuel du noyau, qui permet d'​atteindre les 1 Go évoqués juste avant. La valeur VmallocTotal donne la taille de cet espace.
 +
 +  * VmallocTotal : la quantité totale de mémoire de l'​espace d'​adressage virtuel du noyau.
 +  * VmallocUsed : la quantité de mémoire utilisée dans l'​espace d'​adressage virtuel du noyau.
 +  * VmallocChunk : le plus grand bloc contigu de mémoire virtuelle (et non physique) disponible dans l'​espace d'​adressage virtuel du noyau.
 +  * HugePages_Total : le nombre de hugepage allouée. Une hugepage est une page d'une grande taille (sisi :), utilisée par des programmes qui ont des besoins précis de mémoire.
 +  * HugePages_Free : le nombre de hugepage disponibles.
 +  * Hugepagesize : la taille d'une hugepage.
  
 ==== Disques ==== ==== Disques ====
informatique/linux/proc.1231950579.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)