Frage

Der Windows Task-Manager zeigt die CPU-Auslastung in Prozent an. Was ist die Formel dahinter? Ist es so aus:

  

% CPU-Auslastung für Prozess A = (Summe der   Alle Zeitscheiben bis jetzt zu A gegeben) /   Insgesamt benötigte Zeit, da die Maschine gestartet

Oder ist es etwas anderes?

War es hilfreich?

Lösung

Ich bin nicht 100% sicher, was Anwendungen sind, aber ich denke, Sie ein wenig sind auf der CPU-Berechnung aus.

Ich glaube, sie tun so etwas wie.

Process A CPU Usage = (Cycles for A over last X seconds)/(Total cycles for last X seconds)

Ich glaube, es auf das „Aktualisierungsintervall“ im Task-Manager eingestellt gebunden ist.

Während für Sie ein wenig Forschung tun, obwohl ich diese MSDN Artikel, die eine Microsoft empfohlene Methode zur Berechnung der CPU-Zeit einer Reihe von Anweisungen zeigen, das man könnte genauso gut ein wenig in Richtung ihrer Berechnung zeigen.

Andere Tipps

Nein, es ist nicht „da Boot-Zeit“ - es ist viel mehr Zeit empfindlich als die

.

Es ist „Anteil der Zeit, während der eine CPU aktiv wurde ein Thread in diesem Prozess seit der letzten Aktualisierung läuft“. (Wenn die Bildwiederholfrequenz typischerweise etwa eine Sekunde.) In Task-Manager Ich glaube, es dann durch die Anzahl der CPUs geteilt ist, so dass der Gesamt endet 100% sein (dh auf einer Dual-Core-Maschine, ein Single-Thread-CPU hog zeigen als 50%). Andere ähnliche Programme manchmal nicht das tun, was insgesamt 100% * Kerne geben.

Sie können auch dieser Artikel zu überprüfen, wie die Art und Weise CPU-Zyklen in Bezug auf Zeitplanung behandelt werden als Teil von Vista geändert. Ich nehme an, dies gilt auch für Win7.

Sehen Sie den Quellcode der Task-Manager

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top