Wie kann ich den Lastdurchschnitt über einen kürzeren Zeitraum anzeigen?

7

uptime meldet Lastdurchschnitte in den letzten 1, 5 und 15 Minuten.

Wie kann ich den Lastdurchschnitt der letzten 10 Sekunden anzeigen?

ændrük
quelle

Antworten:

6

Das ist unmöglich, weil der Kernel es nicht berechnet. (Nun, Sie könnten natürlich den Kernel patchen ...).

Denken Sie daran, dass der Lastdurchschnitt kein "regulärer Durchschnitt" einer Reihe von Zahlen ist, wie Sie sie in der High School gelernt haben. Wenn Sie 15 Minuten lang Samples behalten und mehrmals pro Sekunde 3 Durchschnittswerte über dieses Array berechnen, ist viel zu viel Speicher und CPU-Leistung erforderlich.

Der "Lastdurchschnitt" (unter Linux) ist ein exponentiell gedämpfter / gewichteter gleitender Durchschnitt , was bedeutet, dass er einen zeitlichen Trend anzeigt . In meiner Antwort auf diese verwandte Frage finden Sie einige Links zu Websites mit weiteren Informationen.

Wenn Sie ein bisschen Programmieren kennen, ist es auch aus den Kernelquellen leicht zu verstehen - so hat mir das jemand beigebracht. Siehe dazu Seite 2 des Links zum Linux Journal-Artikel.

JanC
quelle
1

Was JanC erklärt hat, ist richtig. Sie können dies jedoch berechnen, indem Sie die Länge der Ausführungswarteschlange (Anzahl der aktiven Threads, die auf die CPU warten) Ihres Systems messen. Leider gibt es kein Dienstprogramm / Tool für Linux. Wenn Sie dies umgehen möchten, können Sie dies unter OpenSolris auch mit einer Auflösung von Mikrosekunden mithilfe von DTrace-Skripten tun. Es ist ziemlich einfach. Sie können ein solches Skript leicht im WEB finden.

Samarasa
quelle