Wie wird CPU-Auslastung berechnet?



  • Hallo! Was mich mal interessieren würde: Wie wird die CPU-Auslastung überhaupt berechnet? Unter Windows (und sicherlich auch unter anderen Betriebssystemen) kann man die Auslastung mit Systembefehlen oder aus der Registry auslesen. Aber woher kriegt Windows diese Daten? Ist das ein Wert der in der CPU gespeichert ist? Ich kann mir irgendwie nicht vorstellen, wie man sowas errechnet. 🙄



  • Ich würd sagen, solange die CPU nichts zu tun hat, wird ein Thread bearbeitet, der nur aus NOP's (System Idle) besteht. Der Kernel übernimmt das Auswerten, wieviel Prozent der Prozesslast dieser Thread hat.

    cYa
    DjR



  • Original erstellt von DocJunioR:
    **Ich würd sagen, solange die CPU nichts zu tun hat, wird ein Thread bearbeitet, der nur aus NOP's (System Idle) besteht. Der Kernel übernimmt das Auswerten, wieviel Prozent der Prozesslast dieser Thread hat.
    **

    Besser, der Speicher wird mit Nullen beschrieben (zumindest unter win2k/XP) 😃
    Aber der Thread wird dann sicherlich auch das Auswerten machen, so in der Art beim Eintritt z.B. den TSC abholen und beim Austritt, aus den werten kann man dann die Auslastung berechnen. Alternativ könnte man auch im Scheduler auswerten, schließlich verteilt der die Prozessorzeit und kann am besten sagen, was Sache ist.


Anmelden zum Antworten