2010-11-30 7 views
44

Können Sie mehr über "Benutzer-CPU-Zeit" und "System-CPU-Zeit" erklären? Ich habe viel gelesen, aber ich konnte es nicht gut verstehen.CPU-Zeit des Benutzers gegenüber System-CPU-Zeit?

+1

möglich Duplikat [Was speziell Wanduhr-Zeit ist, benutzer CPU-Zeit und System-CPU-Zeit in UNIX?] (Http://stackoverflow.com/questions/7335920/what -specifically-sind-Wand-Uhr-Zeit-Benutzer-CPU-Zeit-und-System-CPU-Zeit-in-uni) –

Antwort

35

Der Unterschied ist, ob die Zeit im User-Space oder Kernel-Raum ausgegeben wird. Benutzer-CPU-Zeit ist die Zeit, die auf dem Prozessor verbracht wird, auf dem der Programmcode (oder Code in Bibliotheken) läuft; System-CPU-Zeit ist die Zeit, die für die Ausführung von Code im Betriebssystemkernel für Ihr Programm aufgewendet wird.

+0

die man für die Ausführung von "* .dll" -Dateien verwendet? – user472221

+0

@ user472221 dll ist ein Win-Konzept. Ihre Frage ist nicht OS beschränkt –

+0

@ user472221 Meine Antwort basiert auf UNIX/Linux; Das gleiche Konzept sollte unter Windows gelten. Ich würde vermuten, dass die meisten DLLs User-Space sind, obwohl ich nicht sicher bin, wo Windows die Zeile zeichnet. Wenn Sie wirklich herausfinden möchten, wo Ihr Programm CPU-Zeit verwendet, verwenden Sie einen Profiler. –

13

Der Begriff ‚Benutzer-CPU-Zeit‘ kann ein wenig auf den ersten irreführend sein. für den Kernel klar zu sein, ist die Gesamtzeit (real-CPU-Zeit) die Kombination der Menge an Zeit damit verbringt, die CPU eine Aktion für ein Programm und die Zeit der Durchführung der CPU aufwendet Systems Durchführung auf dem im Auftrag Programm aufruft. Wenn ein Programm ein Array durchläuft, akkumuliert es die CPU-Zeit des Benutzers. Umgekehrt, wenn ein Programm einen Systemaufruf wie exec oder fork ausführt, wird die System-CPU-Zeit angesammelt.

5

Benutzer-CPU-Zeit: Die Zeit, die der Prozessor an dem spezifischen Programm gearbeitet hat.

System-CPU-Zeit: Die Zeit, die der Prozessor mit den Betriebssystemfunktionen gearbeitet hat, die mit diesem spezifischen Programm verbunden sind.

+2

Woher kommt dieser Text? – keypress

+2

Computer Organisation und Design: Die Hardware/Software Schnittstelle - Von David A. Patterson, John L. Hennessy - Seite 30 –

1

Basierend auf wikipedia:

  • Benutzer Zeit ist die Zeit, die CPU beschäftigt Ausführung von Code im User-Space war.
  • Systemzeit ist die Zeit, die CPU damit beschäftigt war, Code im Kernel-Raum ausführt. Wenn dieser Wert für einen Thread oder Prozess berichtet wird, dann stellt sie die Höhe der Zeit wurde der Kernel Arbeit im Namen des Vollstreckungs Kontextes zu tun, zum Beispiel, nachdem ein Thread einen Systemaufruf ausgegeben.
Verwandte Themen