Dies ist der Befehl perf-trace, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
perf-trace – von Strace inspiriertes Tool
ZUSAMMENFASSUNG
perf Spur
perf Spur Rekord
BESCHREIBUNG
Dieser Befehl zeigt die mit dem Ziel verbundenen Ereignisse an, zunächst Systemaufrufe, aber
andere Systemereignisse wie Seitenfehler, Aufgabenlebensdauerereignisse, Planungsereignisse usw.
Dies ist ein Live-Modus-Tool zusätzlich zur Arbeit mit perf.data-Dateien wie die anderen perf
Werkzeug. Dateien können mit generiert werden perf Rekord Befehl, aber die Sitzung muss
Schließen Sie die raw_syscalls-Ereignisse ein (-e raw_syscalls:*). Alternative, perf Spur Rekord kann
kann als Verknüpfung verwendet werden, um beim Schreiben von Ereignissen automatisch die raw_syscalls-Ereignisse einzubeziehen
zu einer Datei.
Die folgenden Optionen gelten für Perf Trace; Optionen zum Perf-Trace-Datensatz finden Sie im
Perf-Record-Manpage.
OPTIONAL
-a, --all-cpus
Systemweite Erfassung von allen CPUs.
-e, --expr
Liste der anzuzeigenden Systemaufrufe, derzeit nur Systemaufrufnamen. Präfix mit ! zeigt alles
Systemaufrufe, aber die angegebenen. Möglicherweise müssen Sie ihm entkommen.
-o, --output=
Name der Ausgabedatei.
-p, --pid=
Zeichnen Sie Ereignisse auf der vorhandenen Prozess-ID auf (durch Kommas getrennte Liste).
-t, --tid=
Zeichnen Sie Ereignisse auf der vorhandenen Thread-ID auf (durch Kommas getrennte Liste).
-u, --uid=
Zeichnen Sie Ereignisse in Threads auf, die UID gehören. Name oder Nummer.
--filter-pids=
Filtern Sie Ereignisse für diese PIDs und für heraus Spur selbst (durch Kommas getrennte Liste).
-v, --verbose=
Ausführlichkeitsstufe.
--no-inherit
Untergeordnete Aufgaben erben keine Zähler.
-m, --mmap-pages=
Anzahl der mmap-Datenseiten (muss eine Zweierpotenz sein) oder Größenangabe mit angehängtem Wert
Einheitszeichen - B/K/M/G. Die Größe wird auf die nächste Seitenpotenz von zwei aufgerundet
Wert.
-C, --CPU
Sammeln Sie Proben nur auf der Liste der bereitgestellten CPUs. Es können mehrere CPUs als a bereitgestellt werden
durch Kommas getrennte Liste ohne Leerzeichen: 0,1. Bereiche von CPUs werden mit - angegeben: 0-2. In
Pro-Thread-Modus mit aktiviertem Vererbungsmodus (Standard). Ereignisse werden nur erfasst, wenn die
Der Thread wird auf den angegebenen CPUs ausgeführt. Standardmäßig werden alle CPUs überwacht.
--duration: Zeigt nur Ereignisse mit einer Dauer von mehr als NM ms an.
--sched: Thread-Laufzeit erfassen und am Ende der Sitzung eine Zusammenfassung bereitstellen.
-i --input Verarbeitet Ereignisse aus einer bestimmten Leistungsdatendatei.
-T --time Gibt den vollständigen Zeitstempel aus, anstatt die Zeit relativ zum ersten Beispiel.
--comm
Prozess-COMM direkt neben seiner ID anzeigen, standardmäßig aktiviert, mit --no-comm deaktivieren.
-s, --summary
Nur eine Zusammenfassung der Systemaufrufe nach Thread mit minimaler, maximaler und durchschnittlicher Zeit (in ms) anzeigen.
und relative stddev.
-S, --with-summary
Alle Systemaufrufe anzeigen, gefolgt von einer Zusammenfassung nach Thread mit minimaler, maximaler und durchschnittlicher Zeit (in
ms) und relative stddev.
--tool_stats
Zeigt Werkzeugstatistiken an, z. B. wie oft fd→Pfadname durch Einbinden des gefunden wurde
Öffnen Sie den Systemaufruf return + vfs_getname oder lesen Sie /proc/pid/fd usw.
-F=[all|min|maj], --pf=[all|min|maj]
Verfolgen Sie Seitenfehler. Optional können Sie angeben, ob Sie Moll, Dur oder alle möchten
Seitenfehler. Der Standardwert ist Maj.
--syscalls
Verfolgen Sie Systemaufrufe. Diese Option ist standardmäßig aktiviert.
--Veranstaltung
Verfolgen Sie andere Ereignisse, siehe perf Liste für eine vollständige Liste.
--proc-map-timeout
Bei der Verarbeitung bereits vorhandener Threads /proc/XXX/mmap kann es lange dauern, weil
Die Datei kann riesig sein. In solchen Fällen ist eine Auszeit erforderlich. Diese Option legt die Uhrzeit fest
Out-Limit. Der Standardwert beträgt 500 ms.
SEITENFEHLER
Beim Verfolgen von Seitenfehlern sieht das Format des Trace wie folgt aus:
Fehler [ + ] ⇒[E-Mail geschützt] [1]> (
Ebene>).
· Min/Maj gibt an, ob das Fehlerereignis geringfügig oder schwerwiegend ist.
· ip.symbol zeigt das Symbol für den Anweisungszeiger (den Code, der den Fehler generiert hat); Wenn
keine Debug-Symbole verfügbar, Perf Trace gibt rohe IP aus;
· addr.dso zeigt DSO für die fehlerhafte Adresse an;
· Kartentyp ist entweder d für nicht ausführbare Karten bzw x für ausführbare Karten;
· Adressenebene ist entweder k für Kernel-DSO oder . für Benutzer dso.
Für die Symbolauflösung müssen Sie möglicherweise Debugging-Symbole installieren.
Bitte beachten Sie, dass die Dauer derzeit immer 0 beträgt und nicht die tatsächliche Zeit widerspiegelt
Es wurde angenommen, dass die Schuld gehandhabt wird!
Wenn --verbose angegeben wird, versucht Perf Trace, alle verfügbaren Informationen für beide IPs auszudrucken
und Fehleradresse in Form von dso@symbol[2]+Offset.
Beispiele:
Verfolgen Sie nur schwerwiegende Seitenfehler:
$ perf Trace --no-syscalls -F
Verfolgen Sie Systemaufrufe sowie größere und kleinere Seitenfehler:
$ perf Trace -F alle
1416.547 (0.000 ms): python/20235 majfault [CRYPTO_push_info_+0x0] => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0@0x61be0 (x.)
Wie Sie sehen können, gab es im Python-Prozess einen schwerwiegenden Seitenfehler
CRYPTO_push_info_-Routine, die irgendwo in libcrypto.so einen Fehler verursacht hat.
Nutzen Sie perf-trace online über die Dienste von onworks.net