GNU/Linux >> LINUX-Kenntnisse >  >> Linux

linux /proc/loadavg

/proc/loadavg

Die ersten drei Felder in dieser Datei sind durchschnittliche Lastzahlen, die die Anzahl der Jobs in der Ausführungswarteschlange (Zustand R) oder die auf Festplatten-E/A warten (Zustand D) gemittelt über 1, 5 und 15 Minuten angeben . Sie sind die gleichen wie die durchschnittlichen Auslastungszahlen, die von uptime(1) und anderen Programmen angegeben werden.

Das vierte Feld besteht aus zwei Zahlen, die durch einen Schrägstrich (/) getrennt sind. Die erste davon ist die Anzahl der aktuell ausgeführten Kernel-Scheduling-Einheiten (Prozesse, Threads); diese ist kleiner oder gleich der Anzahl der CPUs. Der Wert nach dem Schrägstrich ist die Anzahl der Kernel-Scheduling-Einheiten, die derzeit auf dem System vorhanden sind.

Das fünfte Feld ist die PID des Prozesses, der zuletzt auf dem System erstellt wurde.


Ich möchte die angenommene Antwort kommentieren.

Das vierte Feld besteht aus zwei Zahlen, die durch einen Schrägstrich (/) getrennt sind. Die erste davon ist die Anzahl der aktuell ausgeführten Kernel-Scheduling-Einheiten (Prozesse, Threads); diese ist kleiner oder gleich der Anzahl der CPUs.

Ich habe ein Testprogramm erstellt, das die ganze Zahl N aus der Eingabe liest und dann N Threads erstellt und sie für immer ausführt. Auf einem RHEL 6.5-Computer habe ich 8 Prozessoren und jeder Prozessor hat Hyper-Threading. Wie auch immer, wenn ich meinen Test durchführe und 128 Threads erstellt, sehe ich im vierten Feld Werte, die größer als 128 sind, zum Beispiel 135. Es ist eindeutig größer als die Anzahl der CPUs. Dieser Beitrag unterstützt meine Beobachtung:http://juliano.info/en/Blog:Memory_Leak/Understanding_the_Linux_load_average

Es ist erwähnenswert, dass die aktuelle Erklärung in der Handbuchseite proc(5) (Stand der Handbuchseiten Version 3.21, März 2009) falsch ist. Es meldet die erste Zahl des vierten Felds als die Anzahl der aktuell ausgeführten Planungsentitäten und sagt daher voraus, dass sie nicht größer als die Anzahl der CPUs sein kann. Das stimmt nicht mit der realen Implementierung überein, wo dieser Wert die aktuelle Anzahl lauffähiger Threads anzeigt.


Die ersten drei Spalten messen die CPU- und E/A-Auslastung der letzten Ein-, Fünf- und 15-Minuten-Perioden. Die vierte Spalte zeigt die Anzahl der aktuell laufenden Prozesse und die Gesamtzahl der Prozesse. Die letzte Spalte zeigt die zuletzt verwendete Prozess-ID an.

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


Linux
  1. Untersuchen des Linux /proc-Dateisystems

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Linux – /proc/mnt mit /proc/mounts verknüpfen?

  4. Linux – Anzahl der Prozessoren in /proc/cpuinfo?

  5. Linux – Wie testet man, ob ein Blockgerät von /sys oder /proc aus schreibgeschützt ist?

Eine Anleitung zum Dateisystem „/proc“ unter Linux

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Wie erhalte ich den Pfad eines Prozesses in Unix / Linux

Verständnis von Linux /proc/id/maps

Anzahl der Prozessoren in /proc/cpuinfo