Prozessorauslastung
# Prozessorauslastung

Die Prozessorauslastung (auch CPU-Last oder CPU-Auslastung) wird für Multitasking-Systeme ermittelt. Sie beschreibt, welchen Anteil seiner Arbeitszeit einer oder mehrere der Hauptprozessoren eines Computers tatsächlich produktive Aufgaben bearbeitet und wird üblicherweise prozentual angegeben. Sie stellt eine Art Wirkungsgrad dar. Je mehr Rechenzeit für die Bewältigung laufender Prozesse benötigt wird, desto höher ist die CPU-Auslastung.

In einem Multitasking-System muss zwischen den einzelnen ablaufenden Prozessen laufend umgeschaltet werden (siehe präemptives Multitasking). Dieses Umschalten führt zu einer Belastung des Prozessors. Während der Umschaltzeit kann der Prozessor keine produktiven Prozesse ausführen. Wird ein Betriebssystem benutzt, was dieses nicht unterstützt (wie zum Beispiel MS-DOS), kann der Prozessor nur ein Programm bearbeiten. Dann ist die Auslastung uninteressant, da der Anwender die nicht genutzte Leistung nicht für andere Aufgaben nutzen kann. Erst ein Multitasking-fähiges Betriebssystem sorgt mit einem Scheduling für das Zuteilen von Zeitscheiben an die aktiven Prozesse. Kann ein Programm nicht weiterrechnen, z. B. weil es auf Eingabedaten wartet oder schon zu lange läuft, wechselt das Betriebssystem zu dem nächsten Programm. Wenn kein Programm eine Berechnung durchführen möchte, übernimmt der Leerlaufprozess, bei dem moderne Betriebssysteme den Prozessor in einen Stromsparmodus versetzen (siehe Speedstep, Cool’n’Quiet).

Die meisten Programme berücksichtigen in der CPU-Auslastung auch Wartezyklen, während die CPU z. B. auf Speicherzugriffe wartet, da sie die CPU-Auslastung aus der Sicht des Betriebssystems anzeigen. Die Zeit, die die CPU tatsächlich mit rechnen verbringt, macht meist nur einen Bruchteil der gemessenen CPU-Auslastung aus. Spezielle Burnin-Software versucht daher, die tatsächliche CPU-Auslastung hoch zu halten, um zu Testzwecken möglichst hohe Temperaturen zu erreichen.

## Berechnung

Formal berechnet sich die Prozessorauslastung damit als Verhältnis aus der Nutzarbeitszeit und der geleisteten Arbeitszeit des Prozessors.

Bei n laufenden Prozessen, die jeweils die Nutzzeit $t_{k}$ hatten, ergibt sich damit die Formel:

    $\eta ={\frac {\sum _{k=1}^{n}t_{k}}{t_{\text{gesamt}}}}$

$t_{gesamt}$ ist dabei die Gesamtzeit.

Ein Prozessor kann maximal zu 100 % ausgelastet werden. Daraus folgt, dass $0<\eta \leq 1$ gelten muss.

## Darstellung

Oft wird der zeitliche Verlauf der CPU-Last graphisch dargestellt. Viele Betriebssysteme bringen eigene Werkzeuge dafür mit (z. B. Windows: Task-Manager oder Unix: top). Mit zusätzlichen Tools können diese Verläufe dann oft mitprotokolliert und ausgewertet werden, beispielsweise per SNMP und dem Tool MRTG.

