Befehl "curt"
Zweck
Generiert aus einem Trace einen CPU-Auslastungsbericht.
Syntax
curt -i Eingabedatei [-o Ausgabedatei] [-n gensymsdatei] [-m + + + trcnmfile] [-a PidnameDatei] [-f Zeitmarke] [-l Zeitmarke] [-r PURR] [-eHLSTP] [-@ {ALL | WPAR-Liste}]
Beschreibung
Der Befehl curt verwendet eine AIX® -Tracedatei als Eingabe und erzeugt eine Reihe von Statistikdaten zur Prozessorauslastung (CPU) und zur Prozess-/Thread-/Threadaktivität. Der Befehl funktioniert mit AIX -Einzelprozessor-und -Multiprozessortraces, wenn die Prozessoruhren ordnungsgemäß synchronisiert sind.
HKWD_KERN_SVC, HKWD_KERN_SYSCRET, HKWD_KERN_FLIH, HKWD_KERN_SLIH,
HKWD_KERN_SLIHRET, HKWD_KERN_DISPATCH, HKWD_KERN_RESUME, HKWD_KERN_IDLE,
HKWD_SYSC_FORK, HKWD_SYSC_EXECVE, HKWD_KERN_PIDSIG, HKWD_SYSC__EXIT
HKWD_SYSC_CRTHREAD, HKWD_KERN_INITP, HKWD_NFS_DISPATCH, HKWD_CPU_PREEMPT,
HKWD_DR, HKWD_KERN_PHANTOM_EXTINT, HKWD_RFS4_VOPS, HHKWD_RFS4_VFSOPS, HKWD_RFS4_MISCOPS, HKWD_RFS4,
HKWD_KERN_HCALL, HKWD_WPAR,
HKWD_PTHREAD_VPSLEEP, HKWD_PTHREAD_GENERAL
Dies sind die Ereignisse, die der Befehl curt für die Berechnung seiner Statistiken heranzieht:
-j 100,101,102,103,104,106,10C,119,134,135,139,200,210,215,38F,419,465,47F,488,489,48A,48D,492,4C9,605,609Alternativ können Sie -J curt verwenden.- mkdir /temp.lib; cd /temp.lib
- ln -s /usr/ccs/lib/perf/libpthreads.a
- export LIBPATH=$PWD:$LIBPATH
Flags
| Element | Beschreibung |
|---|---|
| -i Eingabedatei | Gibt die zu analysierende AIX -Eingabedatei an. |
| -o Ausgabedatei | Gibt die Ausgabedatei an (standardmäßig wird die Standardausgabe verwendet). |
| -n gensyms-Datei | Gibt eine von gensyms erzeugte Namensdatei an. |
| -m trcnmdatei | Gibt eine von trcnm erzeugte Namensdatei an. |
| -a PID-Datei | Gibt eine Zuordnungsdatei für PIDs und Prozessnamen an. |
| -f zeitmarke | Startet die Verarbeitung des Trace zu der mit Zeitmarke (Sekunden) angegebenen Zeit. |
| -l Zeitmarke | Stoppt die Verarbeitung des Trace zu der mit Zeitmarke (Sekunden) angegebenen Zeit. |
| -r PURR | Verwendet das PURR-Register, um die CPU-Zeiten zu berechnen. |
| -E | Gibt Informationen zur abgelaufenen Zeit für Systemaufrufe und pthread-Aufrufe aus. |
| -H | Zeigt den Verwendungstext (diese Informationen) an. |
| -p | Gibt detaillierte Prozessinformationen aus. |
| -s | Gibt Informationen zu Fehlern aus, die von Systemaufrufen zurückgegeben werden. |
| -T | Gibt detaillierte Threadinformationen aus. |
| -P | Gibt detaillierte pthread-Informationen aus. |
| -@ | Steuert das Hinzufügen von Workloadpartitionsdaten zu einem curt-Bericht. Sie können das Flag -@ in einer der folgenden Formen verwenden:
|
Wenn die trace -Prozessnamentabelle nicht korrekt ist oder weitere beschreibende Namen gewünscht werden, geben Sie mit dem Flag -a eine PID für die Prozessnamenszuordnungsdatei an. Diese Datei enthält Zeilen, die aus einer Prozess-ID (dezimal) gefolgt von einem Leerzeichen gefolgt von einer als Prozessname zu verwendenden ASCII-Zeichenfolge bestehen.
Wenn die Eingabedatei AIXmit dem Flag -n erstellt wird, curt verwendet diese Adress-/Namenstabelle, um Systemaufruf-und Slih-Adressen in Namen aufzulösen, wenn Sie in der curt-Befehlszeile kein Flag -m oder -n angeben.
Wenn die Eingabedatei AIXin einer Workloadpartitionerstellt wird, gibt der Befehl curt einen WPAR -Bericht aus. Das Flag -@ ist in diesem Fall nicht zulässig.
Berichtsinhalt
Der curt-Bericht enthält die folgenden Informationen:
- Curt-und Traceinformationen
Die ersten Zeilen im curt-Bericht enthalten die Zeit, zu der das curt-Programm ausgeführt wurde, und die Befehlszeile, die zum Aufrufen von curt verwendet wurde. Im Folgenden finden Sie Informationen zur AIX -Tracedatei, die von curtverarbeitet wird: Name, Größe, Erstellungsdatum und der Befehl, mit dem die Tracedatei zusammengestellt wird.
Die Zeile
PURR was used to calculate CPU timeswird ausgegeben, wenn die Option -r PURR verwendet wurde und die Tracedatei das PURR-Register enthält.- Systemübersicht
- Der erste Hauptabschnitt des Berichts ist die Systemzusammenfassung. Dieser Abschnitt beschreibt die Zeit, die das System als Ganzes (alle Prozessoren) in den verschiedenen Ausführungsmodi verbracht hat. Die folgenden Modi sind verfügbar:
- APPLICATION
- Die Summe der Zeiten, die alle Prozessoren im Benutzermodus (nicht privilegiert) verbracht haben.
- SYSCALL
- Die Summe der Zeiten, die alle Prozessoren mit Systemaufrufen verbracht haben. Dies ist der Anteil der Zeit, die ein Prozessor mit der Ausführung im Kernel-Code verbringt, um von einem Benutzerprozess direkt angeforderte Services bereitzustellen.
- HCALL
- Die Summe der Zeiten, die Prozessoren mit Hypervisoraufrufen verbracht haben. Dies ist der Anteil der Zeit, die ein Prozessor mit der Ausführung im Hypervisor-Code verbringt, um vom Kernel direkt angeforderte Services bereitzustellen.
- KPROC
- Die Summe der Zeiten, die alle Prozessoren mit der Ausführung von anderen Kernelprozessen als dem IDLE-Prozess und den NFS-Prozessen verbracht haben. Dies ist der Anteil der Zeit, die ein Prozessor mit der Ausführung speziell erstellter zuteilbarer Prozesse, die ausschließlich Kernel-Code ausführen, verbringt.
- NFS
- Die Summe der Zeiten, die alle Prozessoren mit der Ausführung von NFS-Operationen verbracht haben. NFS-Operationen für NFS V2/V3 beginnen mit RFS_DISPATCH_ENTRY-Subhooks und enden mit RFS_DISPATCH_EXIT-Subhooks. NFS-Operationen NFS V4 beginnen mit
startund enden mitdoneoderdone error. - FLIH
- Die Summe der Zeiten, die alle Prozessoren in FLIHs (First Level Interrupt Handler, Interrupt-Handler der obersten Ebene) verbracht haben.
- SLIH
- Die Summe der Zeiten, die alle Prozessoren in SLIHs (Second Level Interrupt Handler, Interrupt-Handler der zweiten Ebene) verbracht haben.
- DISPATCH
- Die Summe der Zeiten, die alle Prozessoren im Zuteilungscode AIX verbracht haben. Diese Summe enthält die Zeit, die für die Zuteilung aller Threads benötigt wird (d. h. die Zuteilungen des IDLE-Prozesses).
- IDLE DISPATCH
- Die Summe der Zeiten, die alle Prozessoren im AIX -Zuteilungscode verbracht haben, wobei der zuzuteilende Prozess der IDLE-Prozess war. Da die Kategorie DISPATCH die Zeit der Kategorie IDLE DISPATCH enthält, wird die Zeit der Kategorie IDLE DISPATCH nicht separat addiert, um entweder die CPU-Auslastungszeit oder die Gesamtzeit zu berechnen.
- CPU(s) busy time
- Die Summe der Zeiten, die alle Prozessoren mit der Ausführung in den Modi application, syscall, kproc, flih, slih und dispatch verbracht haben.
- IDLE
- Die Summe der Zeiten, die alle Prozessoren mit der Ausführung des IDLE-Prozesses verbracht haben.
- TOTAL
- Die Summe von CPU(s) busy time und IDLE. Diese Zahl wird als
Gesamtverarbeitungszeit
bezeichnet.
processing total time (msec)enthält die Gesamtzeit (in Millisekunden) für die entsprechende Verarbeitungskategorie. Die Spalte mit der Bezeichnungpercent total timegibt die Gesamtverarbeitungszeit als Prozentsatz der Gesamtverarbeitungszeit an. Die Spalte mit der Beschriftungpercent busy timeenthält die Gesamtverarbeitungszeit als Prozentsatz der Gesamtverarbeitungszeit der Kategorie CPU(s) busy time. Die SpalteAvg. Thread Affinityenthält die Wahrscheinlichkeit, dass ein Thread demselben Prozessor zugeteilt wird, in dem er zuletzt ausgeführt wurde.Die Spalte "Total Physical CPU time (msec)" enthält die tatsächliche Ausführungszeit der CPUs (ohne Zurückstellung). Die Spalte "Physical CPU percentage" enthält die Zeit für die physischen CPUs als Prozentsatz der Gesamtzeit.
Anmerkung: Im Bericht WPAR werden die Systemzusammenfassungsinformationen alsWPAR -Zusammenfassung
bezeichnet. - Zusammenfassung der Systemanwendung
- Im Anschluss an die Systemzusammenfassung finden Sie die Systemanwendungszusammenfassung, die die im Benutzermodus verbrachte Zeit detailliert beschreibt. In diesem Abschnitt wird die Zeit beschrieben, die alle Prozesse (in allen Prozessoren) mit der Ausführung verschiedener Teile von libpthreads verbracht haben.
- PTHREAD
- Die Summe der Zeiten, die alle pthreads in verfolgten libpthreads-Operationen verbracht haben.
- PDISPATCH
- Die Summe der Zeiten, die alle pthreads im libpthreads-Zuteilungscode verbracht haben.
- PIDLE
- Die Summe der Zeiten, die alle pthreads im libpthreads-Code vp_sleep verbracht haben.
- SONSTIGE
- Die Summe der Zeiten, die alle Threads im Benutzermodus außerhalb verfolgter libpthreads-Operationen verbracht haben.
- APPLICATION time
- Die Summe der Zeiten, die alle Prozessoren im Benutzermodus verbracht haben.
processing total time (msec)enthält die Gesamtzeit in Millisekunden für die entsprechende Verarbeitungskategorie. Die Spalte mit der Bezeichnungpercent total timeenthält die Gesamtverarbeitungszeit als Prozentsatz der Gesamtverarbeitungszeit für GESAMTSUMME der Systemzusammenfassung. Die Spalte mit der Beschriftungpercent application timeenthält die Gesamtverarbeitungszeit als Prozentsatz der Gesamtverarbeitungszeit der Kategorie APPLICATION.Avg. Pthread Affinityist die Wahrscheinlichkeit, dass ein pthread demselben Thread zugeteilt wurde, auf dem er zuletzt ausgeführt wurde.Anmerkung: In einem Bericht WPAR werden die zusammenfassenden Informationen zur Systemanwendung alsWPAR -Anwendungszusammenfassung
bezeichnet. - s Zusammenfassung
- Die WPAR-Zusammenfassung des Berichts wird generiert, wenn Sie das Flag -@ angeben. Die folgenden System-und Systemanwendungsinformationen für Workloadpartitionen, die als Spaltenüberschriften in der Zusammenfassung angezeigt werden, beschreiben die in allen Workloadpartitionen verbrachte Zeit im Detail:
- appli
- Der Prozentsatz der gesamten Prozesszeit, die die WPAR im Benutzermodus (nicht berechtigt) verbracht hat.
- syscall
- Der Prozentsatz der Gesamtprozesszeit, die von der WPAR für Systemaufrufe aufgewendet wurde.
- hcall
- Der Prozentsatz der gesamten Prozesszeit, die von der WPAR für Hypervisoraufrufe aufgewendet wurde.
- kproc
- Der Prozentsatz der gesamten Prozesszeit, die von der WPAR für die Ausführung von Kernelprozessaufrufen aufgewendet wurde.
- nfs
- Der Prozentsatz der Gesamtprozesszeit, die die WPAR für die Ausführung von NFS -Operationen benötigte.
- flih
- Der Prozentsatz der Gesamtprozesszeit, die die WPAR in den Interrupt-Handlern der ersten Ebene verbracht hat.
- slih
- Der Prozentsatz der gesamten Prozesszeit, die die WPAR in den Interrupt-Handlern der zweiten Ebene verbracht hat.
- gesamt
- Der Prozentsatz der Gesamtprozesszeit, die von der WPARverbracht wurde.
- total(msec)
- Die Summe der von der WPARverwendeten Prozessorzeit in Millisekunden.
- WPAR
- Der Name der WPAR .
Hinweis: Die WPARs-Zusammenfassung wird nur in einem Gesamtsystembericht generiert. - Zusammenfassung pro Prozessor
Im Anschluss an die Systemanwendungszusammenfassung folgt die Zusammenfassung pro Prozessor, die im Wesentlichen dieselben Informationen enthält, aber nach den einzelnen Prozessoren aufgegliedert ist. In der Beschreibung für die Systemzusammenfassung kann der Ausdruck
Summe der Zeiten, die alle Prozessoren verbracht haben
durchZeit, die von diesem Prozessor verbracht wurde
ersetzt werden. Die Gesamtzahl der Prozesszuteilungen bezieht sich darauf, wie oft AIX einen Nicht-IDLE-Prozess auf diesem Prozessor zugeteilt hat, während die Gesamtzahl der inaktiven Zuteilungen die Anzahl der IDLE-Prozesszuteilungen angibt.Total Physical CPU time (msec)ist die Echtzeit, zu der der Prozessor ausgeführt wurde (nicht zurückgestellt). Die SpaltePhysical CPU percentageenthält die Zeit für die physischen CPUs als Prozentsatz der Gesamtzeit.Die Spalte
Physical processor affinityenthält die Wahrscheinlichkeit, dass ein logischer Prozessor demselben physischen Prozessor zugeteilt wird, in dem er zuletzt ausgeführt wurde. Die Spalte "Total number of preemptions" gibt an, wie oft der virtuelle Prozessor einer physischen CPU erneut zugeteilt wurde.Total number of H_CEDEist die Anzahl der von diesem Prozessor ausgeführten H_CEDE-Hypervisoraufrufe;with preeemptiongibt die Anzahl der H_CEDE-Aufrufe an, die zu einer Zurückstellung führen.Total number of H_CONFERist die Anzahl der von diesem Prozessor ausgeführten H_CONFER-Hypervisoraufrufe;with preeemptiongibt die Anzahl der H_CONFER-Aufrufe an, die zu einer Zurückstellung führen.Anmerkung: In einem Bericht WPAR wird keine Zusammenfassung pro Prozessor generiert.- Anwendungszusammenfassung pro Prozessor
Im Anschluss an jede Prozessorzusammenfassung folgt die Anwendungszusammenfassung pro Prozessor, die im Wesentlichen dieselben Informationen enthält wie die Systemanwendungszusammenfassung, aber nach den einzelnen Prozessoren aufgegliedert ist.
Die
Total number of pthread dispatchesgibt an, wie oft libpthreads einen beliebigen pthread auf diesem Prozessor zugeteilt haben, währendTotal number of pthread idle dispatchesdie Anzahl der Aufrufe von vp_sleep angibt.Anmerkung: In einem WPAR -Bericht wird keine Anwendungszusammenfassung pro Prozessor generiert.- Anwendungsübersicht
Der zweite Hauptabschnitt des Berichts ist die Anwendungszusammenfassung. Der erste Teil dieses Abschnitts enthält eine Zusammenfassung der Gesamtsystemverarbeitungszeit auf Threadbasis (nach Tid). Für jeden Thread, der durch die Prozess-ID (und den Namen, falls verfügbar) und die Thread-ID angegeben wird, gibt die Zusammenfassung die Gesamtverarbeitungszeit der Anwendung (entspricht der Anwendung) und des Systemabgleichs (entspricht SYSCALL) in Millisekunden sowie den Prozentsatz der Gesamtverarbeitungszeit des Systems für alle Prozessoren im Trace an. Außerdem enthält die Zusammenfassung die Summe dieser beiden Zeiten als Rohzeit und als Prozentsatz der Gesamtverarbeitungszeit.
Der zweite Teil dieses Abschnitts enthält dieselben Informationen nach Prozess-ID (PID). Der dritte Teil dieses Abschnitts enthält dieselben Informationen auf Prozessnamensbasis (nach Prozesstyp).
Der vierte Teil dieses Abschnitts enthält ähnliche Informationen für Kernelprozessthreads (Kproc-Zusammenfassung). Da die meisten kprocs einen bestimmten Kernel-Service bereitstellen, wird die Gesamtverarbeitungszeit in zwei Kategorien unterteilt, Operation und Kernel, die in etwa Systemaufruf (syscall) und Anwendung (application) für Prozesse entsprechen, die immer im Kernel-Code ausgeführt werden. Jeder kproc-Thread wird anhand des Namens, der Prozess-ID, der Thread-ID und des kproc-Typs, sofern bekannt, identifiziert. Die kproc-Typen sind in einer Tabelle direkt nach dieser Zusammenfassung aufgelistet und beschrieben.
Der fünfte Teil dieses Abschnitts ist die Zusammenfassung der pthread-Prozesse. Dieser Abschnitt enthält die Gesamtanwendungszeit in Multithreadprozessen (nach PID). Die Zusammenfassung enthält für jeden Prozess, der anhand der Prozess-ID (und des Namens, sofern verfügbar) identifiziert wird, die Gesamtanwendungszeit, die Gesamt-pthread-Zeit und weitere Verarbeitungszeiten in Millisekunden und als Prozentsatz der Gesamtanwendungszeit für alle Prozessoren im Trace.
Alle fünf Abschnitte der Zusammenfassung sind in absteigender Reihenfolge nach Summe der Verarbeitungszeiten sortiert.
In allen fünf Abschnitten einer Anwendungszusammenfassung wird der Name der WPAR hinzugefügt, um den Thread oder Prozess zu identifizieren, wenn Sie das Flag -@ angeben.
Hinweis: Pids und Tids (Prozess-und Thread-IDs) werden immer dezimal angegeben.- Zusammenfassung der Systemaufrufe
Der dritte Hauptabschnitt des Berichts ist die Zusammenfassung der Systemaufrufe. Dieser Abschnitt enthält eine Zusammenfassung der Verarbeitungszeiten für Systemaufrufe. Die Zusammenfassung enthält für jeden anhand der Kerneladresse (und des Namens, sofern verfügbar) identifizierten Systemaufruf die Anzahl der SVC-Aufrufe und die Gesamtprozessorzeit für alle Aufrufe in Millisekunden und als Prozentsatz der Gesamtsystemverarbeitungszeit für alle Prozessoren im Trace. Außerdem enthält die Zusammenfassung die durchschnittlichen, minimalen und maximalen Zeiten für einen SVC-Aufruf. Wenn das Flag -e angegeben ist, enthält die Zusammenfassung die insgesamt abgelaufene Zeit für alle SVC-Aufrufe sowie die durchschnittlichen, minimalen und maximalen abgelaufenen Zeiten für einen Aufruf. Die abgelaufene Zeit ist die Zeit vom Start des Prozesses für die Ausführung des SVC im Kernelmodus bis zur Wiederaufnahme des Prozesses im Anwendungsmodus. Die Zusammenfassung ist in absteigender Reihenfolge der Gesamtprozessorzeit sortiert. Wenn das Flag -s angegeben ist, enthält die Zusammenfassung die Anzahl der einzelnen Fehlercodes (errno), die von jedem Systemaufruf zurückgegeben wurden.
Der zweite Teil dieses Abschnitts ist die Zusammenfassung anstehender Systemaufrufe. In diesem Teil werden die Systemaufrufe aufgelistet, die gestartet wurden, aber noch nicht abgeschlossen sind. Die angegebene Zeit ist in der SYSCALL-Zeit für das System und die verschiedenen Prozessoren sowie in der Systemaufrufzeit für den pthread, den Thread und den Prozess, der den SVC-Aufruf abgesetzt hat, enthalten, aber nicht in der Verarbeitungszeit für den Systemaufruf im ersten Teil dieses Abschnitts. Der anstehende Anruf ist auch nicht in der Anzahl enthalten, die im ersten Teil dieses Abschnitts angegeben ist.
Hinweis:- Systemaufrufadressen werden immer in Hexadezimalschreibweise angegeben. PIDs und TIDs werden immer in Dezimalschreibweise angegeben.
- WPAR -Namen werden einer Zusammenfassung der Systemaufrufe hinzugefügt, um Threads oder Prozesse zu identifizieren, wenn Sie das Flag -@ angeben.
- System Hypervisor-Aufrufe-Zusammenfassung
Wenn Hypervisoraktivitäten im Trace vorhanden sind, wird an dieser Stelle des Berichts ein zusätzlicher Abschnitt eingefügt. Dieser wichtige Abschnitt des Berichts hat den Namen
Hypervisor Calls Summary. Dieser Abschnitt enthält eine Zusammenfassung der in Hypervisoraufrufen verbrachten Verarbeitungszeit. Für jeden anhand des Namens (und der Kerneladresse) identifizierten Hypervisoraufruf (HCALL) enthält die Zusammenfassung die Anzahl der HCALL-Aufrufe und die Gesamtprozessorzeit für alle Aufrufe in Millisekunden und als Prozentsatz der Gesamtsystemverarbeitungszeit für alle Prozessoren im Trace. Außerdem enthält die Zusammenfassung die durchschnittlichen, minimalen und maximalen Zeiten für einen HCALL-Aufruf. Wenn das Flag -e angegeben ist, enthält die Zusammenfassung die insgesamt abgelaufene Zeit für alle HCALL-Aufrufe sowie die durchschnittliche, minimale und maximale abgelaufene Zeit für einen einzigen Aufruf. Die abgelaufene Zeit ist die Zeit zwischen dem Start und dem Ende eines Hypervisoraufrufs. Die Zusammenfassung ist in absteigender Reihenfolge der Gesamtprozessorzeit sortiert.Der zweite Teil dieses Abschnitts heißt
Pending Hypervisor Calls Summary. In diesem Teil werden die Hypervisoraufrufe aufgelistet, die gestartet wurden, aber noch nicht abgeschlossen sind. Die angegebene Zeit ist in der HCALL-Zeit für das System und die verschiedenen Prozessoren sowie in der Hypervisorzeit für den pthread, den Thread und den Prozess, der den HCALL-Aufruf abgesetzt hat, enthalten, aber nicht in der Verarbeitungszeit für den Hypervisoraufruf im ersten Teil dieses Abschnitts. Der anstehende Anruf ist auch nicht in der Anzahl enthalten, die im ersten Teil dieses Abschnitts angegeben ist.Hinweis:- Hypervisoraufrufadressen werden immer in Hexadezimalschreibweise angegeben. PIDs und TIDs werden immer in Dezimalschreibweise angegeben.
- WPAR -Namen werden einer Zusammenfassung der Systemhypervisoraufrufe hinzugefügt, um die Threads oder Prozesse zu identifizieren, wenn Sie das Flag -@ angeben.
- Zusammenfassung der Pthread-Aufrufe
Der vierte Hauptteil des Berichts ist die Zusammenfassung der pthread-Aufrufe. In diesem Abschnitt ist die in den aufgerufenen pthread-Routinen verbrachte Verarbeitungszeit zusammengefasst. Für jede anhand ihres Namens identifizierte pthread-Routine enthält die Zusammenfassung die Anzahl der Aufrufe der pthread-Routine und die Gesamtprozessorzeit für alle Aufrufe in Millisekunden und als Prozentsatz der Gesamtsystemverarbeitungszeit für alle Prozessoren im Trace. Außerdem enthält die Zusammenfassung die durchschnittlichen, minimalen und maximalen Zeiten für einen einzigen Aufruf der pthread-Routine. Wenn das Flag -e angegeben ist, enthält die Zusammenfassung die insgesamt abgelaufene Zeit für alle Aufrufe der pthread-Routine sowie die durchschnittliche, minimale und maximale abgelaufene Zeit für einen einzigen Anruf. Die abgelaufene Zeit ist die Zeit zwischen dem Start der pthread-Routine und der Beendigung des libpthreads-Codes durch den Prozess. Die Zusammenfassung ist in absteigender Reihenfolge der Gesamtprozessorzeit sortiert.
Der zweite Teil dieses Abschnitts ist die Zusammenfassung der anstehenden pthread-Aufrufe. In diesem Teil werden die pthread-Aufrufe aufgelistet, die gestartet wurden, aber noch nicht abgeschlossen sind.
Anmerkung: WPAR -Namen werden einer Zusammenfassung der Pthread-Aufrufe hinzugefügt, um Threads oder Prozesse zu identifizieren, wenn Sie das Flag -@ angeben.- System- NFS -Aufrufe-Zusammenfassung
Dieser Hauptabschnitt des Berichts ist die Zusammenfassung der System-NFS-Aufrufe. In diesem Abschnitt wird die in NFS-Operationen verbrachte Verarbeitungszeit zusammengefasst. Für jede anhand ihres Operationsnamens und ihrer NFS-Version identifizierte NFS-Operation enthält die Zusammenfassung die Anzahl der Operationsaufrufe und die Gesamtprozessorzeit für alle Aufrufe in Millisekunden und als Prozentsatz der Gesamtsystemverarbeitungszeit für alle Operationen mit derselben NFS-Version. Außerdem enthält die Zusammenfassung die durchschnittlichen, minimalen und maximalen Zeiten für einen Operationsaufruf. Wenn das Flag -e angegeben ist, enthält die Zusammenfassung die insgesamt abgelaufene Zeit für alle Operationsaufrufe sowie die durchschnittlichen, minimalen und maximalen Zeiten für einen einzigen Aufruf. Die insgesamt abgelaufene Zeit wird auch als Prozentsatz der insgesamt abgelaufenen Zeit für alle NFS-Operationen mit derselben NFS-Version angezeigt. Die abgelaufene Zeit ist die Zeit zwischen dem Einstiegshook und dem Exit-Hook für die Operationszuteilung. In allen Fällen enthält die Zusammenfassung die Anzahl der Operationsaufrufe als Prozentsatz der NFS-Operationsaufrufe insgesamt für alle Operationen mit derselben NFS-Version. Die Zusammenfassung wird in numerischer Reihenfolge der Operationscodes angezeigt. Die Operationen werden nach NFS-Version aufgelistet. Für NFS Version 4 werden die Serveroperationen vor den Clientoperationen aufgelistet.
Der Zusammenfassung der System-NFS-Aufrufe folgt die Zusammenfassung anstehender NFS-Aufrufe. In diesem Teil werden die NFS-Aufrufe aufgelistet, die gestartet wurden, aber noch nicht abgeschlossen sind. Die angegebene Zeit ist in der NFS-Zeit für das System und die verschiedenen Prozessoren und in der Operationszeit für den Thread und den Prozess, der den NFS-Aufruf abgesetzt hat, enthalten, aber nicht in der Verarbeitungszeit für die NFS-Operation im ersten Teil dieses Abschnitts. Der anstehende Anruf ist auch nicht in der Anzahl enthalten, die im ersten Teil dieses Abschnitts angegeben ist.
Anmerkung: Wenn Sie das Flag -@ angeben, werden WPAR -Namen in der Zusammenfassung der NFS -Systemaufrufe hinzugefügt, um Threads oder Prozesse zu identifizieren.- Flih-Zusammenfassung
Der fünfte Hauptteil des Berichts ist die FlIH-Zusammenfassung. Dieser Abschnitt fasst die Zeit zusammen, die in Interrupt-Handlern der obersten Ebene verbracht wurde. Der erste Teil der Zusammenfassung enthält die Gesamtzahl der Einträge zu jedem Flih im Trace sowie die Gesamtprozessorzeit für alle Ausführungen des FLIH durch alle Prozessoren in Millisekunden. Außerdem enthält die Zusammenfassung die durchschnittlichen, minimalen und maximalen Zeiten für eine einzige Ausführung. Jeder FLIH wird durch einen systemdefinierten Flih-Typ und einen entsprechenden FLIH-Namen, sofern bekannt, identifiziert.
Der zweite Teil enthält dieselben Informationen, aufgeschlüsselt nach Prozessoren. Es ist möglich, dass nicht alle FLIHs, die im System vorgekommen sind, auch in jedem Prozessor vorgenommen sind. Daher stimmt die globale FLIH-Liste möglicherweise nicht mit der FLIH-Liste für jeden Prozessor überein.
Der zweite Teil dieses Abschnitts kann die Zusammenfassung anstehender FLIHs enthalten. Dies ist eine Liste der FLIHs, die gestartet wurden, aber noch nicht abgeschlossen sind. Die angegebene Zeit ist in der FLIH-Zeit für das System und den betroffenen Prozessor enthalten, jedoch nicht in der FLIH-Verarbeitungszeit in beiden Teilen dieses Abschnitts. Der ausstehende FLIH ist ebenfalls nicht in den Werten in beiden Teilen dieses Abschnitts enthalten.
- Slih-Zusammenfassung
Der fünfte Hauptteil des Berichts ist die SLIH-Zusammenfassung. Dieser Abschnitt fasst die Zeit zusammen, die in Interrupt-Handlern der zweiten Ebene (SlIH, Second Level Interrupt Handler) verbracht wurde. Der erste Teil der Zusammenfassung enthält die Gesamtzahl der Einträge zu jedem SLIH im Trace sowie die Gesamtprozessorzeit für alle Ausführungen des SLIH durch alle Prozessoren in Millisekunden. Außerdem enthält die Zusammenfassung die durchschnittlichen, minimalen und maximalen Zeiten für eine einzige Ausführung. Jeder SLIH wird anhand seiner Kerneladresse und SLIH-Funktion oder seiners Modulnamens, sofern bekannt, identifiziert.
Der zweite Teil enthält dieselben Informationen, aufgeschlüsselt nach Prozessoren. Es ist möglich, dass nicht alle SLIHs, die im System vorgekommen sind, auch in jedem Prozessor vorgenommen sind. Daher stimmt die globale SLIH-Liste möglicherweise nicht mit der SLIH-Liste für jeden Prozessor überein.
Der zweite Teil dieses Abschnitts kann die Zusammenfassung anstehender SLIHs enthalten. Dies ist eine Liste der SLIHs, die gestartet wurden, aber noch nicht abgeschlossen sind. Die angegebene Zeit ist in der SLIH-Zeit für das System und den betroffenen Prozessor enthalten, jedoch nicht in der SLIH-Verarbeitungszeit in beiden Teilen dieses Abschnitts. Der ausstehende SLIH ist ebenfalls nicht in den Werten in beiden Teilen dieses Abschnitts enthalten.
- Detaillierte Prozessinformationen
- Dieser Abschnitt des Berichts wird erstellt, wenn das Flag -P angegeben ist. Er enthält detaillierte Informationen zu jedem im Trace gefundenen Prozess. Bei den Informationen handelt es sich um die folgenden:
- Die Prozess-ID (PID) für diesen Prozess, der Prozessname, falls bekannt, und der WPAR -Name, wenn Sie das Flag -@ angeben.
- Die Anzahl und die Liste der Thread-IDs (TIDs) für diesen Prozess.
- Die Anzahl und die Liste der pthread-IDs (PTIDs) für diesen Prozess, sofern vorhanden.
- Die im Anwendungsmodus (Benutzermodus), im Systemaufrufmodus und im Hypervisormodus verbrachten Zeiten werden angezeigt. Für kprocs wird stattdessen die im Kernelmodus und Operationsmodus verbrachten Zeiten angezeigt.
- Die Details zu den im Anwendungsmodus, in pthread-Operationen, mit der libpthreads-Zuteilung und in vp_sleep verbrachten Zeiten. Diese werden nur ausgegeben, wenn wenn PTIDs für den Prozess vorhanden sind.
- Informationen zu den von pthreads dieses Prozesses abgesetzten pthread-Aufrufen. Für NFS-kprocs werden stattdessen Informationen zu den von Threads dises Prozesses abgesetzten NFS-Aufrufen angezeigt. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Informationen zu den von Threads dieses Prozesses abgesetzten Hypervisoraufrufen. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Informationen zu den von Threads dieses Prozesses abgesetzten Systemaufrufen. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Detaillierte Threadinformationen
- Dieser Abschnitt des Berichts wird erstellt, wenn das Flag -t angegeben ist. Er enthält detaillierte Informationen zu jedem im Trace gefundenen Thread. Bei den Informationen handelt es sich um die folgenden:
- Die Thread-ID (Tid) und die Prozess-ID (Pid) für diesen Thread, der Prozessname, falls bekannt, und der WPAR -Name, wenn das Flag -@ angegeben wird
- Die im Anwendungsmodus (Benutzer), Systemaufrufmodus und Hypervisoraufrufmodus verbrachten Zeiten werden angezeigt. Für kprocs wird stattdessen die im Kernelmodus und Operationsmodus verbrachten Zeiten angezeigt.
- Informationen zu den von diesem Thread abgesetzten Systemaufrufen, einschließlich Informationen zu Fehlern, die von den Systemaufrufen zurückgegeben werden, wenn das Flag -s angegeben ist. Für NFS-kproc-Threads werden stattdessen Informationen zu den von diesem Thread abgesetzten NFS-Aufrufen angezeigt. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Informationen zu den von diesem Thread abgesetzten Hypervisoraufrufen. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Die Prozessoraffinität ist die Wahrscheinlichkeit, dass der Thread bei jeder Zuteilung demselben Prozessor zugeordnet wird, in dem er zuletzt ausgeführt wurde.
- Das Zuteilungshistogramm zeigt an, wie oft der Thread jeder CPU im System zugeteilt wurde.
- Gibt an, wie oft der Thread insgesamt zugeteilt wurde (ohne Neuzuteilungen).
- Die Anzahl der Neuzuteilungen aufgrund der Inaktivierung von Interrupts zeigt an, dass derselbe Thread, der gerade ausgeführt wurde, erneut zugeteilt wurde, weil die Interruptmaske des Threads auf INTMAX gesetzt ist. Dieser Wert wird nur angezeigt, wenn er ungleich null ist.
- Die durchschnittliche Wartezeit für die Zuteilung ist die durchschnittliche abgelaufene Zeit seit der letzten Aufhebung der Threadzuteilung (d. h. die durchschnittliche abgelaufene Zeit seit dem letzten Stoppen der Threadausführung).
- Die Anzahl der Vorkommen jedes FLIH-Typs während der Ausführung dieses Threads. Einige dieser Typen können durch den Thread (z. B. DSI oder ISI) verursacht werden, während andere Typen (z. B. IO) auftreten können, wenn dieser Thread gerade ausgeführt wird, und nicht unbedingt vom Thread selbst verursacht werden.
- Detaillierte Pthread-Informationen
- Dieser Abschnitt des Berichts wird erstellt, wenn das Flag -P angegeben ist. Er enthält detaillierte Informationen zu jedem im Trace gefundenen pthread. Bei den Informationen handelt es sich um die folgenden:
- Die Pthread-ID (Ptid) und Prozess-ID (Pid) für diesen pthread, der Prozessname, falls bekannt, und der WPAR -Name, wenn Sie das Flag -@ angeben.
- Die im Anwendungsmodus (Benutzermodus), im Kernelmodus und im Hypervisormodus verbrachten Zeiten werden angezeigt.
- Details zu Anwendungszeiten: in pthread-Aufrufen, für pthread-Zuteilungen, in vp_sleep (pthread-Leerlauf) und anderen Anwendungen verbrachte Zeiten.
- Informationen zu den von diesem pthread abgesetzten Systemaufrufen, einschließlich Informationen zu Fehlern, die von den Systemaufrufen zurückgegeben werden, wenn das Flag -s angegeben ist. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Informationen zu den von diesem pthread abgesetzten Hypervisoraufrufen. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Informationen zu den von diesem pthread abgesetzten pthread-Aufrufen. Das Flag -e wirkt sich ebenfalls auf diese Ausgabe aus.
- Die Prozessoraffinität ist die Wahrscheinlichkeit, dass der pthread bei jeder Zuteilung demselben Prozessor zugeordnet wird, in dem er zuletzt ausgeführt wurde.
- Das Zuteilungshistogramm für den Thread zeigt an, wie oft der pthread jeder CPU im System zugeteilt wurde.
- Gibt an, wie oft der pthread insgesamt zugeteilt wurde (ohne Neuzuteilungen).
- Die Anzahl der Neuzuteilungen aufgrund der Inaktivierung von Interrupts zeigt an, dass derselbe pthread, der gerade ausgeführt wurde, erneut zugeteilt wurde, weil die Interruptmaske des pthreads auf INTMAX gesetzt ist. Dieser Wert wird nur angezeigt, wenn er ungleich null ist.
- Die durchschnittliche Wartezeit für die Zuteilung ist die durchschnittliche abgelaufene Zeit seit der letzten Aufhebung der pthread-Zuteilung durch den Kernel-Dispatcher (d. h. die durchschnittliche abgelaufene Zeit seit dem letzten Stoppen der pthread-Ausführung).
- Die Threadaffinität ist die Wahrscheinlichkeit, dass der pthread bei jeder Zuteilung demselben Thread zugeordnet wird, in dem er zuletzt ausgeführt wurde.
- Das Zuteilungshistogramm für den pthread zeigt an, wie oft der pthread jedem Thread im System zugeteilt wurde.
- Die Gesamtanzahl der pthread-Zuteilungen in libpthreads.
- Die durchschnittliche Wartezeit für die Zuteilung ist die durchschnittliche abgelaufene Zeit seit der letzten Aufhebung der Threadzuteilung durch den libpthreads-Dispatcher (d. h. die durchschnittliche abgelaufene Zeit seit dem letzten Stoppen der Threadausführung).
- Die Anzahl der Vorkommen jedes FLIH-Typs während der Ausführung dieses Threads. Einige dieser Typen können durch den Thread (z. B. DSI oder ISI) verursacht werden, während andere Typen (z. B. IO) auftreten können, wenn dieser Thread gerade ausgeführt wird, und nicht unbedingt vom Thread selbst verursacht werden.
Die pthreads werden nach PID-PTID sortiert angezeigt.
Dateien
| Element | Beschreibung |
|---|---|
| /usr/bin/curt | Enthält den Befehl curt. Diese Datei ist in der Dateigruppe bos.perf.tools enthalten. |