Red Hat Enterprise Linux 3: Handbuch zur System-Administration | ||
---|---|---|
Zurück | Nach vorne |
OProfile ist ein Tool mit geringem Overhead zur systemweiten Leistungsüberwachung. Es verwendet die Leistungsüberwachungs-Hardware auf dem System, um Information über den Kernel und die Befehle des Systems herauszufinden, wie z.B. wann Speicherkapazität zugewiesen wird, die Anzahl der Anfragen bezüglich L2-Cache und die Anzahl der erhaltenen Hardware-Unterbrechungen. Auf einem Red Hat Enterprise Linux System muss das oprofile RPM-Paket installiert sein, damit dieses Tool verwendet werden kann.
Bei vielen Prozessoren ist eine spezielle Leistungsüberwachungs-Hardware dabei. Diese Hardware ermöglicht es, herauszufinden, wann gewisse Ereignisse stattfinden (z.B. wenn gesuchte Daten nicht in Cache sind). Die Hardware nimmt normalerweise die Form von einem oder mehreren counters (Zähler) an, die bei jedem Ereignis erhöht werden. Wenn der Wert der Zähler "hinaufklettert," wird eine Unterbrechung verursacht, wodurch möglich wird, die Menge der Details (und des Overhead) zu kontrollieren, die bei der Leistungsüberwachung entsteht.
OProfile verwendet diese Hardware (oder einen auf einer Zeituhr basierenden Ersatz, wenn keine Leistungsüberwachungs-Hardware vorhanden ist), um samples (Proben) von leistungsbezogenen Daten einzuholen, und zwar jedes Mal, wenn ein Zähler eine Unterbrechung verursacht. Diese Proben werden in regelmäßigen Abständen auf Diskette geschrieben. Später können die in den Proben enthaltenen Daten dazu verwendet werden, Berichte über die Leistung auf System-Level und auf Anwendungs-Level zu erstellen.
![]() | Wichtig |
---|---|
Die Unterstützung für OProfile in Red Hat Enterprise Linux 3 basiert auf dem rückgeführten Code von der 2.5 Kernel-Entwicklung. Wenn auf die OProfile Dokumentation verwiesen wird, dann gelten 2.5 spezifische Eigenschaften für OProfile in Red Hat Enterprise Linux 3, obwohl die Kernel-Version 2.4 ist. Gleichfalls gelten Oprofile-Eigenschaften, die Kernel 2.4 spezifisch sind, nicht für Red Hat Enterprise Linux 3. |
OProfile ist ein nützliches Tool, aber bitte beachten Sie bei der Verwendung folgende Einschränkungen:
Verwendung von gemeinsamen Bibliotheken — Proben für Codes in gemeinsamen Bibliotheken sind nicht mit der gegenständlichen Anwendung verbunden, außer es wird die --separate=library Option verwendet.
Leistungsüberwachungs-Proben sind ungenau — Wenn ein Leistungsüberwachungs-Register eine Probe auslöst, ist die Handhabung der Unterbrechungen nicht so präzise wie eine Ausnahme mit Nullunterteilung. Wegen der außer-Betrieb-Ausführung von Anordnungen durch den Prozessor ist es möglich, dass die Probe auf einer nahegelegenen Anordnung aufgezeichnet wird.
oprofpp teilt Proben für Inline-Funktionen nicht richtig zu — oprofpp verwendet einen einfachen Adressbereich-Mechanismus, um zu bestimmen, in welcher Funktion eine Adresse sich befindet. Proben für Inline-Funktion sind nicht mit der Inline-Funktion verbunden, sondern eher mit der Funktion, in die die Inline-Funktion eingesetzt wurde.
OProfile sammelt Daten von mehreren Durchläufen an — OProfile ist eine systemweite Profileinrichtung und erwartet, dass Prozessoren mehrfach hoch- und heruntergefahren werden. Deswegen sammeln sich Daten von mehreren Durchläufen an. Verwenden Sie den Befehl opcontrol --reset, um die Proben von vorherigen Durchläufen zu löschen.
Leistungsprobleme, die nicht CPU-limitiert sind — OProfile ist darauf ausgerichtet, Probleme bei CPU-limitierten Prozessen zu finden. OProfile kann keine schlafenden Prozesse identifizieren, weil diese an Sperrungen in Warteposition sind oder auf andere Ereignisse warten (z.B. dass ein I/O-Gerät einen Vorgang beendet).
In Red Hat Enterprise Linux haben nur die Multi-Prozessor-(SMP)-Kernels OProfile-Unterstützung. Um festzustellen, welcher Kernel gerade läuft, geben Sie folgenden Befehl ein:
uname -r |
Wenn die angezeigte Kernel-Version mit .entsmp endet, dann läuft der Multi-Prozessor-Kernel. Wenn nicht, installieren Sie ihn über Red Hat Network oder von den mitgelieferten CDs, auch wenn das System kein Multi-Prozessor-System ist. Der Multi- Prozessor Kernel kann auf einem Single-Prozessor-System laufen.
Tabelle 43-1 bietet eine kurze Übersicht über die Tools, die mit dem oprofile-Paket geliefert werden.
Befehl | Beschreibung |
---|---|
opcontrol | Konfiguriert, welche Daten gesammelt werden. Für Details siehe Abschnitt 43.2. |
op_help | Zeigt verfügbare Ereignisse für den System-Prozessor an, zusätzlich eine kurze Beschreibung jedes Ereignisses. |
op_merge | Verbindet mehrere Proben derselben ausführbaren Datei. Für Details siehe Abschnitt 43.5.4 |
op_time | Gibt einen Überblick über alle erfassten ausführbaren Dateien. |
op_to_source | Kreiert eine annotierte Quelle für eine ausführbare Datei, wenn die Anwendung mit Debbugging-Symbolen zusammengestellt wurde. Für Details siehe Abschnitt 43.5.3. |
oprofiled | Führt einen Daemon aus, um Probedaten in regelmäßigen Abständen auf Diskette zu schreiben |
oprofpp | Holt Profildaten ein. Für Details siehe Abschnitt 43.5.2. |
op_import | Wandelt Dateien von Probe-Datenbanken von einer fremden Binärdatei in das Heimformat des Systems um. Verwenden Sie diese Option nur, wenn Sie eine Probe-Datenbank von einer anderen Architektur analysieren. |
Tabelle 43-1. OProfile-Befehle
Zurück | Zum Anfang | Nach vorne |
Zusätzliche Ressourcen | Nach oben | Konfiguration von OProfile |