GoGPT Best VPN GoSearch

OnWorks-Favicon

perf-record – Online in der Cloud

Führen Sie perf-record im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl perf-record, 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-record – Führen Sie einen Befehl aus und zeichnen Sie sein Profil in perf.data auf

ZUSAMMENFASSUNG


perf Rekord [-e | --event=EREIGNIS] [-l] [-a]
perf Rekord [-e | --event=EREIGNIS] [-l] [-a] — [ ]

BESCHREIBUNG


Dieser Befehl führt einen Befehl aus und sammelt daraus ein Leistungsindikatorprofil
perf.data - ohne etwas anzuzeigen.

Diese Datei kann dann später mit überprüft werden perf berichten.

OPTIONAL


...
Jeder Befehl, den Sie in einer Shell angeben können.

-e, --event=
Wählen Sie das PMU-Ereignis aus. Auswahl kann sein:

· einen symbolischen Ereignisnamen (verwenden Sie perf Liste um alle Veranstaltungen aufzulisten)

· ein rohes PMU-Ereignis (eventsel+umask) in Form von rNNN, wobei NNN eine Hexadezimalzahl ist
Ereignisbeschreibung.

· ein symbolisch gestaltetes PMU-Ereignis pmu/param1=0x3,param2/ woher param1, param2,
usw. sind als Formate für die PMU in definiert
/sys/bus/event_sources/devices/ /Format/*.

· ein symbolisch gestaltetes Ereignis wie pmu/config=M,config1=N,config3=K/

wobei M, N, K Zahlen sind (im Dezimal-, Hex-, Oktalformat). Akzeptabel
Die Werte für „config“, „config1“ und „config2“ werden jeweils durch definiert
entsprechende Einträge in /sys/bus/event_sources/devices/ /Format/*
param1 und param2 sind als Formate für die PMU definiert in:
/sys/bus/event_sources/devices/ /Format/*

Es gibt auch einige Parameter, die nicht in .../ definiert sind. /Format/*.
Diese Parameter können verwendet werden, um Standardkonfigurationswerte pro Ereignis zu überladen.
Hier ist eine Liste der Parameter.
- 'Zeitraum': Legen Sie den Ereignis-Sampling-Zeitraum fest
- 'freq': Ereignis-Abtastfrequenz festlegen
- 'time': Zeitstempelung deaktivieren/aktivieren. Akzeptable Werte sind 1 für
ermöglicht die Zeitstempelung. 0 zum Deaktivieren der Zeitstempelung.
Der Standardwert ist 1.
- 'call-graph': Callgraph deaktivieren/aktivieren. Akzeptable Zeichen sind „fp“ für
FP-Modus, „dwarf“ für DWARF-Modus, „lbr“ für LBR-Modus und
„Nein“ zum Deaktivieren des Callgraphs.
- 'Stack-Size': Benutzer-Stapelgröße für den Zwergmodus
Hinweis: Wenn der Benutzer explizit Optionen festlegt, die mit den Parametern in Konflikt stehen,
Der durch die Parameter festgelegte Wert wird überschrieben.

· ein Hardware-Breakpoint-Ereignis in Form von \mem:addr[/len][:access] wo Adresse ist
die Adresse im Speicher, in die Sie eindringen möchten. Access ist der Speicherzugriffstyp
(Lesen, Schreiben, Ausführen) kann wie folgt übergeben werden: \mem:addr[:[r][w][x]]. len ist
der Bereich und die Anzahl der Bytes ab der angegebenen Adresse, die der Haltepunkt abdeckt.
Wenn Sie Lese-/Schreibzugriffe in 0x1000 profilieren möchten, legen Sie es einfach fest mem:0x1000:rw. Wenn
Sie möchten Schreibzugriffe in [0x1000~1008] profilieren), einfach einstellen mem:0x1000/8:w.

· eine Gruppe von Ereignissen, die von einer geschweiften Klammer umgeben sind („{event1,event2,...}“). Jede
Ereignis wird durch Kommas getrennt und die Gruppe sollte in Anführungszeichen gesetzt werden, um die Shell zu verhindern
Deutung. Sie müssen auch --group für „perf report“ verwenden, um Gruppenereignisse anzuzeigen
together.

--filter=
Ereignisfilter. Diese Option sollte einem Ereignisselektor (-e) folgen, der den Tracepoint auswählt
Veranstaltungen). Mehrere --Filter Optionen werden mit kombiniert &&.

--exclude-perf
Zeichnen Sie keine von perf selbst ausgegebenen Ereignisse auf. Diese Option sollte einem Ereignisselektor folgen
(-e), das Tracepoint-Ereignisse auswählt. Es fügt einen Filterausdruck hinzu common_pid !=
$PERFPID zu Filtern. Falls anders --Filter existiert, wird der neue Filterausdruck sein
mit ihnen kombiniert von &&.

-a, --all-cpus
Systemweite Erfassung von allen CPUs.

-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). Diese Option deaktiviert auch
Vererbung standardmäßig. Aktivieren Sie es, indem Sie --inherit hinzufügen.

-u, --uid=
Zeichnen Sie Ereignisse in Threads auf, die UID gehören. Name oder Nummer.

-r, --realtime=
Sammeln Sie Daten mit dieser RT SCHED_FIFO-Priorität.

--no-buffering
Sammeln Sie Daten ohne Pufferung.

-c, --count=
Veranstaltungszeitraum zum Ausprobieren.

-o, --output=
Name der Ausgabedatei.

-i, --no-inherit
Untergeordnete Aufgaben erben keine Zähler.

-F, --freq=
Profil auf dieser Frequenz.

-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. Durch Hinzufügen eines Kommas kann außerdem die Anzahl der mmap-Seiten für die AUX-Bereichsverfolgung festgelegt werden
spezifiziert.

--Gruppe
Fassen Sie alle Ereignisse in einer einzigen Ereignisgruppe zusammen. Dies geht der Option --event voraus und bleibt bestehen
Nur aus Gründen der Abwärtskompatibilität. Siehe --event.

-g
Ermöglicht die Aufzeichnung von Aufrufdiagrammen (Stack Chain/Backtrace).

--call-graph
Richten Sie die Aufzeichnung des Aufrufdiagramms (Stack Chain/Backtrace) ein und aktivieren Sie sie, impliziert -g. Standard ist
„fp“.

Ermöglicht die Angabe von „fp“ (Frame Pointer) oder „dwarf“
(DWARF's CFI – Call Frame Information) oder „lbr“
(Hardware Last Branch Record-Funktion) als Erfassungsmethode
Die Informationen, die zum Anzeigen der Anrufdiagramme verwendet werden.

In einigen Systemen werden Binärdateien mit gcc erstellt
--fomit-frame-pointer, die Verwendung der „fp“-Methode führt zu einer Fälschung
Rufen Sie Diagramme mit „dwarf“ auf, falls verfügbar (Perf-Tools verlinkt mit
Stattdessen sollte die Bibliothek libunwind oder libdw verwendet werden.
Für die Verwendung der Methode „lbr“ sind keine Compileroptionen erforderlich. Es
erzeugt Aufrufdiagramme aus den Hardware-LBR-Registern. Der
Die Haupteinschränkung besteht darin, dass es nur auf neuen Intel-Geräten verfügbar ist
Plattformen wie Haswell. Es kann nur die Anrufkette des Benutzers abrufen. Es
funktioniert nicht mit gleichzeitigem Branch-Stack-Sampling.

Wenn „Zwerg“-Aufzeichnung verwendet wird, zeichnet perf auch den (Benutzer-)Stack-Dump auf
bei der Probenahme. Die Standardgröße des Stack-Dumps beträgt 8192 (Byte).
Der Benutzer kann die Größe ändern, indem er die Größe wie durch ein Komma hinterlegt
„--call-graph dwarf,4096“.

-q, --leise
Drucken Sie keine Nachricht aus, die für die Skripterstellung nützlich ist.

-v, --verbose
Seien Sie ausführlicher (zeigen Sie Fehler beim Öffnen des Zählers usw. an).

-s, -stat
Zeichnen Sie die Ereignisanzahl pro Thread auf. Benutze es mit perf berichten -T um die Werte zu sehen.

-d, --data
Notieren Sie die Beispieladressen.

-T, --timestamp
Notieren Sie die Beispielzeitstempel. Benutze es mit perf berichten -D um die Zeitstempel zu sehen, z
Beispiel.

-P, --Punkt
Notieren Sie den Probenzeitraum.

-n, --no-samples
Nicht probieren.

-R, --raw-samples
Sammeln Sie Rohprobendatensätze von allen geöffneten Zählern (Standard für Tracepoint-Zähler).

-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). Samples werden nur erfasst, wenn die
Der Thread wird auf den angegebenen CPUs ausgeführt. Standardmäßig werden alle CPUs überwacht.

-N, --no-buildid-cache
Aktualisieren Sie den Build-ID-Cache nicht. Dies spart etwas Aufwand in Situationen, in denen die
Die Informationen in der perf.data-Datei (einschließlich Build-IDs) sind ausreichend.

-G Name,..., --cgroup Name,...
Monitor nur im Container (cgroup) namens "name". Diese Option ist nur verfügbar in
pro CPU-Modus. Das Kontrollgruppen-Dateisystem muss eingehängt sein. Alle Threads gehören zu
Container "name" werden überwacht, wenn sie auf den überwachten CPUs laufen. Mehrere Gruppen
kann vorgesehen sein. Jede Kontrollgruppe wird auf das entsprechende Ereignis angewendet, dh die erste Kontrollgruppe
zum ersten Event, zweite Cgroup zum zweiten Event und so weiter. Es ist möglich, eine
leere cgroup (die ganze Zeit überwachen) mit zB -G foo,,bar. Gruppen müssen haben
entsprechende Ereignisse, dh sie beziehen sich immer auf Ereignisse, die zuvor auf dem Befehl definiert wurden
Linie.

-b, --branch-any
Aktivieren Sie die Stichprobenentnahme für entnommene Zweigstacks. Jede Art entnommener Zweige kann beprobt werden. Das ist ein
Abkürzung für --branch-filter any. Weitere Informationen finden Sie unter --branch-filter.

-j, --branch-filter
Aktivieren Sie die Stichprobenentnahme für entnommene Zweigstacks. Jede Probe erfasst eine Reihe aufeinanderfolgender Proben
Geäst. Die Anzahl der mit jeder Stichprobe erfassten Zweige hängt vom Basiswert ab
Hardware, die Art der interessierenden Zweige und der ausgeführte Code. Es ist möglich zu
Wählen Sie die Arten der erfassten Zweige aus, indem Sie Filter aktivieren. Die folgenden Filter sind
definiert:

· beliebig: jede Art von Zweigen

· any_call: beliebiger Funktionsaufruf oder Systemaufruf

· any_ret: Rückkehr einer beliebigen Funktion oder eines Systemaufrufs

· ind_call: jeder indirekte Zweig

· Anruf: direkte Anrufe, einschließlich Fernaufrufe (zum/vom Kernel).

· u: nur, wenn das Verzweigungsziel auf Benutzerebene liegt

· k: nur, wenn das Verzweigungsziel im Kernel liegt

· hv: nur, wenn sich das Ziel auf der Hypervisor-Ebene befindet

· in_tx: nur, wenn sich das Ziel in einer Hardware-Transaktion befindet

· no_tx: nur, wenn sich das Ziel nicht in einer Hardware-Transaktion befindet

· abort_tx: Nur wenn das Ziel ein Hardware-Transaktionsabbruch ist

· cond: bedingte Zweige

Die Option erfordert mindestens einen Verzweigungstyp unter any, any_call, any_ret, ind_call,
Kond. Die Berechtigungsstufen können weggelassen werden. In diesem Fall gelten die Berechtigungsstufen des
Das zugehörige Ereignis wird auf den Verzweigungsfilter angewendet. Sowohl Kernel (k) als auch Hypervisor (hv)
Berechtigungsstufen unterliegen Berechtigungen. Wenn Sie mehrere Ereignisse erfassen, verzweigen Sie
Stack-Sampling ist für alle Sampling-Ereignisse aktiviert. Der abgetastete Zweigtyp ist der
für alle Veranstaltungen gleich. Die verschiedenen Filter müssen als durch Kommas getrennte Liste angegeben werden:
--branch-filter any_ret,u,k Beachten Sie, dass diese Funktion möglicherweise nicht auf allen verfügbar ist
Prozessoren.

--Last
Aktivieren Sie die gewichtete Stichprobe. Pro Probe wird ein zusätzliches Gewicht erfasst und kann angezeigt werden
wird mit den Sortierschlüsseln „weight“ und „local_weight“ angezeigt. Dies funktioniert derzeit für TSX
Abbruchereignisse und einige Speicherereignisse im präzisen Modus auf modernen Intel-CPUs.

--Transaktion
Zeichnen Sie Transaktionsflags für transaktionsbezogene Ereignisse auf.

--pro-Thread
Verwenden Sie Mmaps pro Thread. Standardmäßig werden Mmaps pro CPU erstellt. Diese Option überschreibt dies
und verwendet Mmaps pro Thread. Ein Nebeneffekt davon ist, dass die Vererbung automatisch erfolgt
Behinderte. --per-thread wird mit einer Warnung ignoriert, wenn es mit den Optionen -a oder -C kombiniert wird.

-D, --delay=
Warten Sie nach dem Starten des Programms ms, bevor Sie mit der Messung beginnen. Dies ist nützlich, um herauszufiltern
die Startphase des Programms, die oft sehr unterschiedlich ist.

-I, --intr-regs
Erfassen Sie den Maschinenstatus (Register) bei jedem Interrupt, d. h. bei Zählerüberläufen
Probe. Die Liste der erfassten Register hängt von der Architektur ab. Diese Option ist deaktiviert
Standard. Es ist möglich, die abzutastenden Register anhand ihrer symbolischen Namen auszuwählen.
zB auf x86, ax, si. Um die verfügbaren Register aufzulisten, verwenden Sie --intr-regs=\?. Benennen
Übergeben Sie bei Registrierungen eine durch Kommas getrennte Liste wie --intr-regs=ax,bx. Die Liste der Register
ist architekturabhängig.

--Laufzeit
Zeichnen Sie die laufende und aktivierte Zeit für Leseereignisse auf (:S)

-k, --clockid
Legt die Uhren-ID fest, die für die verschiedenen Zeitfelder in den perf_event_type-Datensätzen verwendet werden soll.
Siehe clock_gettime(). Insbesondere CLOCK_MONOTONIC und CLOCK_MONOTONIC_RAW
unterstützt, einige Ereignisse könnten auch CLOCK_BOOTTIME, CLOCK_REALTIME und CLOCK_TAI zulassen.

-S, --snapshot
Wählen Sie den AUX-Bereichsverfolgungs-Schnappschussmodus. Diese Option ist nur mit einem AUX-Bereich gültig
Tracing-Ereignis. Optional kann die Anzahl der pro Snapshot zu erfassenden Bytes angegeben werden
angegeben. Im Snapshot-Modus werden Trace-Daten nur erfasst, wenn das Signal SIGUSR2 vorhanden ist
empfangen.

--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.

--switch-events
Zeichnen Sie Kontextwechselereignisse auf, dh Ereignisse vom Typ PERF_RECORD_SWITCH oder
PERF_RECORD_SWITCH_CPU_WIDE.

--clang-path
Pfad zur Clang-Binärdatei, die zum Kompilieren von BPF-Skriptlets verwendet werden soll.

--clang-opt
Optionen, die beim Kompilieren von BPF-Skriptlets an clang übergeben werden.

Nutzen Sie Perf-Record online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.