GNU/Linux >> Tutoriels Linux >  >> Linux

linux /proc/loadavg

/proc/loadavg

Les trois premiers champs de ce fichier sont des chiffres de charge moyenne donnant le nombre de travaux dans la file d'attente d'exécution (état R) ou en attente d'E/S de disque (état D) moyenne sur 1, 5 et 15 minutes . Ils sont les mêmes que les nombres moyens de charge donnés par uptime(1) et d'autres programmes.

Le quatrième champ se compose de deux nombres séparés par une barre oblique (/). Le premier d'entre eux est le nombre d'entités de planification du noyau en cours d'exécution (processus, threads) ; ce sera inférieur ou égal au nombre de CPU. La valeur après la barre oblique est le nombre d'entités de planification du noyau qui existent actuellement sur le système.

Le cinquième champ est le PID du processus qui a été créé le plus récemment sur le système.


Je voudrais commenter la réponse acceptée.

Le quatrième champ est composé de deux nombres séparés par une barre oblique (/). Le premier d'entre eux est le nombre d'entités de planification du noyau en cours d'exécution (processus, threads) ; ce sera inférieur ou égal au nombre de CPU.

J'ai fait un programme de test qui lit l'entier N à partir de l'entrée, puis crée N threads et les exécute pour toujours. Sur l'ordinateur RHEL 6.5, j'ai 8 processeurs et chaque processeur a un hyper threading. Quoi qu'il en soit, si je lance mon test et qu'il crée 128 threads, je vois dans le quatrième champ des valeurs supérieures à 128, par exemple 135. C'est clairement supérieur au nombre de CPU. Ce message confirme mon observation :http://juliano.info/en/Blog:Memory_Leak/Understanding_the_Linux_load_average

Il convient de noter que l'explication actuelle dans la page de manuel proc(5) (à partir de la version 3.21 des pages de manuel, mars 2009) est erronée. Il signale le premier nombre du quatrième champ comme le nombre d'entités de planification en cours d'exécution, et prédit ainsi qu'il ne peut pas être supérieur au nombre de processeurs. Cela ne correspond pas à l'implémentation réelle, où cette valeur indique le nombre actuel de threads exécutables.


Les trois premières colonnes mesurent l'utilisation du CPU et des E/S des dernières périodes d'une, cinq et 15 minutes. La quatrième colonne affiche le nombre de processus en cours d'exécution et le nombre total de processus. La dernière colonne affiche le dernier ID de processus utilisé.

https://docs.fedoraproject.org/en-US/Fedora/17/html/System_Administrators_Guide/s2-proc-loadavg.html


Linux
  1. Explorer le système de fichiers Linux /proc

  2. /proc/[pid]/pagemaps et /proc/[pid]/maps | linux

  3. Comment obtenir le nombre de CPU/cœurs sous Linux depuis la ligne de commande ?

  4. sysctl vs écrire directement dans /proc/*

  5. Nombre de processeurs dans /proc/cpuinfo

Un guide pour le système de fichiers ‘/proc’ sous Linux

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Comprendre Linux /proc/id/maps

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Pas de /proc dans une distribution Linux embarquée basée sur Busybox