Hallo *,
wie berechnet sich eigentlich die average-load auf maschinen mit mehr als 1 CPU? Muss man auf einem 4-prozessor-system eine load von z.B. 3.8 nun als kritisch einschätzen, oder doch nochmal durch 4 teilen?
die frage deswegen, weil sich diverse recherchen beim orakel google widersprechen.
Grüße /Marian
Moin,
der load sagt aus, wieviel Prozesse im zeitlichen Durchschnitt auf der/den CPU's laufen. Ein load von 3.8 auf einer vier CPU Maschine liegt also noch unter der Vollbeschäftigung. Abgesehen davon muß ein hoher Load noch nicht bedeuten, daß die Kiste überlastet ist (das Gegenteil kann auch manchmal wahr sein - wenn die Kiste z.B. I/O mäßig überlastet ist).
Schönes WE,
andre
Hallo Marian,
mit einem Quasi-Forkbomb-Programm (System-Stress-Tester) habe ich die Load auf meiner 1-CPU-Kiste bereits auf 3000 getrieben - ohne dass die MP3-Musik ausgesetzt hätte (auch wenns recht zäh lief).
Die Load sagt also nur bedingt etwas aus.
mfg, Fabian
Fabian Hänsel schrieb:
mit einem Quasi-Forkbomb-Programm (System-Stress-Tester) habe ich die Load auf meiner 1-CPU-Kiste bereits auf 3000 getrieben - ohne dass die MP3-Musik ausgesetzt hätte (auch wenns recht zäh lief).
Die Load sagt also nur bedingt etwas aus.
Average Load ist ja auch nicht die durchschnittliche Anzahl von laufenden Prozessen, sondern die durchschnittle Anzahl von Prozessen, die im Zustand "running" oder "ready" sind. Laufen da 2999 Prozesse mit nice 19 und der mp3-Prozess mit nice 0, dann sind die 2999 Prozesse nur dann im Zustand "running", wenn der mp3-Prozess gerade nix zu tun hat. D.h. im Extremfall ist immer nur mp3 "running" und die 2999 anderen Prozesse immer "ready"... Laufen nun Deine Forkbombenprozesse mit nice 0 und tun auch wirklich irgendetwas, dann wäre der mp3-Prozess recht schnell aus dem Rennen, bei gleichem Average Load...
HTH, Eric
Fabian Hänsel schrieb:
mit einem Quasi-Forkbomb-Programm (System-Stress-Tester) habe ich die Load auf meiner 1-CPU-Kiste bereits auf 3000 getrieben - ohne dass die MP3-Musik ausgesetzt hätte (auch wenns recht zäh lief).
Die Load sagt also nur bedingt etwas aus.
Average Load ist ja auch nicht die durchschnittliche Anzahl von laufenden Prozessen, sondern die durchschnittle Anzahl von Prozessen, die im Zustand "running" oder "ready" sind.
Meines Wissens nach ist es die durchschnittliche Anzahl der Prozesse, die auf CPU-Zeit (ready) oder die Fertigstellung von IO-Operationen (blocked/waiting) warten.
Laufen da 2999 Prozesse mit nice 19 und der mp3-Prozess mit nice 0, dann sind die 2999 Prozesse nur dann im Zustand "running", wenn der mp3-Prozess gerade nix zu tun hat. D.h. im Extremfall ist immer nur mp3 "running" und die 2999 anderen Prozesse immer "ready"... Laufen nun Deine Forkbombenprozesse mit nice 0 und tun auch wirklich irgendetwas, dann wäre der mp3-Prozess recht schnell aus dem Rennen, bei gleichem Average Load...
Sie hatten alle gleiche Priorität, aber ein Präemptibler Kernel 2.4 bevorzugt den Player ;-) Anderer Mechanismus, selbes Ergebnis
mfg, Fabian
Fabian Hänsel schrieb:
Average Load ist ja auch nicht die durchschnittliche Anzahl von laufenden Prozessen, sondern die durchschnittle Anzahl von Prozessen, die im Zustand "running" oder "ready" sind.
Meines Wissens nach ist es die durchschnittliche Anzahl der Prozesse, die auf CPU-Zeit (ready) oder die Fertigstellung von IO-Operationen (blocked/waiting) warten.
D.h. wenn außer einem Prozess alle anderen schlafen und dieser Prozess versucht die Endlosschleife in Rekordzeit zu schaffen, dann habe ich load 0.00, denn es ist nur ein Prozess in "running" und alle anderen in "sleep". Oder wie? Auf jeden Fall gehören die Prozesse in "running" mit dazu. Ob "wait" mit dazu gehört ist Definitionssache und je nach Unix auch unterschiedlich. Bei Linux zählt "wait" mMn nicht dazu, aber ich kann mich auch irren...
Sie hatten alle gleiche Priorität, aber ein Präemptibler Kernel 2.4 bevorzugt den Player ;-) Anderer Mechanismus, selbes Ergebnis
Oder so ;-)
Eric
lug-dd@mailman.schlittermann.de