suchen
HeimBetrieb und InstandhaltungBetrieb und Wartung von LinuxWas ist Linux Perf? Wie benutzt man es? (Nutzungszusammenfassung)

In der folgenden Kolumne wird die Verwendung von Linux Perf aus der Kolumne „Linux-System-Tutorial“ vorgestellt und zusammengefasst. Ich hoffe, dass es für Freunde hilfreich ist, die es benötigen!

Einführung

perf ist ein Leistungsanalysetool, das in Linux-Systemen bereitgestellt wird. Es basiert auf einem Kernel-Subsystem namens „Leistungsindikatoren“ und unterstützt sowohl Hardware (CPU, PMU (Performance Monitoring Unit)) als auch Software (Softwareindikatoren). ) , Tracepoint) Leistungsanalyse auf Ebene.

Ereignisse in perf

perf tasten wie andere Tools zur Leistungsoptimierung Überwachungsobjekte ab und schließen das Verhalten des gesamten Programms basierend auf der Verteilung der Abtastpunkte ab. Durch den Befehl perf list können wir sehen, dass perf viele Sampling-Ereignisse unterstützt, wie z. B. Branch-Misses, CPU-Clock usw. Die vordefinierten Ereignisse in perf gehören zu verschiedenen Typen, z. B. von Hardware generierten Ereignissen (Cache-Treffer/Zweigfehler) und von Software generierten Ereignissen (Kontextwechsel/Seitenfehler) usw.

Tracepoint

Tracepoint sind einige im Linux-Kernel definierte Hooks. Wenn sie aktiviert sind, werden sie ausgelöst, wenn eine bestimmte Logik ausgeführt wird, was es anderen Tools erleichtert, Informationen wie den internen Betriebsstatus des Systems zu erhalten Es zeichnet verschiedene Tracepoint-Ereignisse auf, zählt sie und generiert Analyseberichte.

Verwendung

Die spezifische Verwendung des Perf-Tools ist wie folgt:

perf [--version] [--help] COMMAND [ARGS]

Die BEFEHLSliste kann durch Ausführen von perf --help angezeigt werden. Hier sind einige häufig verwendete Befehle.

perf stat

perf stat wird verwendet, um einen Befehl auszuführen und während seines Betriebs verschiedene Daten zu sammeln. Es kann einen Gesamtüberblick über den laufenden Status eines Programms liefern. Zum Beispiel:

user@localhost:~$ perf stat hostname
localhost
 Performance counter stats for 'hostname':
          0.313464      task-clock (msec)         #    0.481 CPUs utilized          
                 2      context-switches          #    0.006 M/sec                  
                 0      cpu-migrations            #    0.000 K/sec                  
               153      page-faults               #    0.488 M/sec                  
           896,723      cycles                    #    2.861 GHz                    
           620,709      instructions              #    0.69  insn per cycle         
           121,143      branches                  #  386.465 M/sec                  
             6,247      branch-misses             #    5.16% of all branches        
       0.000651441 seconds time elapsed

Im obigen Beispiel wurde der Befehl hostname über perf stat ausgeführt und einige Indikatoren während seines Vorgangs wurden zusammengefasst und angezeigt, wie z. B. Task-Uhr, Kontextwechsel und Warten. Standardmäßig gibt perf stat Statistiken zu mehreren häufig verwendeten Ereignissen aus, z. B.:

task-clock-msecs:cpu 使用率
context-switches:进程切换次数
page-faults:发生缺页的次数
cpu-migrations:表示进程运行过程中发生了多少次CPU迁移,即被调度器从一个CPU转移到另外一个CPU上运行
cycles:处理器时钟,一条机器指令可能需要多个cycles
instructions: 机器指令数目
branches:遇到的分支指令数
branch-misses是预测错误的分支指令数

Darüber hinaus können wir den Parameter -e verwenden, um die Ereignisse anzugeben, an denen wir interessiert sind, z. B.:

user@localhost:~$ perf stat -e cache-misses hostname
localhost
 Performance counter stats for 'hostname':
          682      cache-misses                                                
       0.000646676 seconds time elapsed

perf top

perf top wird verwendet, um die aktuellen Leistungsstatistiken des Systems in Echtzeit anzuzeigen. Die vorherige Perf-Statistik wird verwendet, um ein bestimmtes Programm zu analysieren, und manchmal wissen wir möglicherweise nicht, welches Programm die Systemleistung beeinträchtigt. Zu diesem Zeitpunkt können wir Perf Top verwenden, um verdächtige Programme zu finden. Zum Beispiel:

Samples: 775  of event 'cpu-clock', Event count (approx.): 92931021
Overhead  Shared Object       Symbol
   8.93%  [kernel]            [k] vsnprintf
   7.73%  perf                [.] rb_next
   5.92%  [kernel]            [k] kallsyms_expand_symbol.clone.0
   5.07%  [kernel]            [k] format_decode
   4.59%  [kernel]            [k] number
   3.40%  perf                [.] symbols__insert
   3.03%  libslang.so.2.2.1   [.] SLtt_smart_puts

Das obige Beispiel zeigt, dass perf die Daten von CPU-Taktereignissen zählt und sie entsprechend dem Anteil sortiert. Wie perf stat können wir Statistiken über andere Ereignisse über den Parameter -e angeben. Beispielsweise können perf top -e context-switches die Top-N-Prozesse mit den meisten Prozesswechseln anzeigen.

Perf Record & Perf Report

Perf Record ähnelt Perf Stat. Es kann einen Befehl ausführen und statistische Informationen generieren, aber Perf Record zeigt die Ergebnisse nicht an, sondern gibt sie in eine Datei aus. Die von perf record generierten Dateien können mit perf report analysiert werden.

perf-Datensatz kann auch den Parameter -g verwenden, um während der Analyse ein Aufrufdiagramm zu generieren, das beim Auffinden einer logischen Verteilung auf höherer Ebene hilft.

Andere

Anhand des Beispiels können wir feststellen, dass in der Symbolspalte in den Ergebnissen der Leistungsanalyse die Namen von C-Sprachfunktionen angezeigt werden. Bei Java werden die durch die JIT-Kompilierung generierten Funktionen direkt im Symbol anstelle des Java-Funktionsnamens angezeigt. Zu diesem Zeitpunkt ist es nicht so einfach, das Problem zu lokalisieren. Wir müssen zusätzliche Mittel verwenden, um das Symbol mit dem Symbol zu kombinieren Die Korrespondenztabelle des Java-Programms wird später ausführlich besprochen.

Empfohlenes Lernen: „

Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist Linux Perf? Wie benutzt man es? (Nutzungszusammenfassung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:juejin. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
So fördern Sie, dass OpenSSL -Themen bei Debian behebenSo fördern Sie, dass OpenSSL -Themen bei Debian behebenApr 13, 2025 am 06:09 AM

Dieser Artikel führt Sie bei der effektiven Fehlerbehebung und Lösung von OpenSSL -Problemen auf Debian -Systemen. 1. System- und Softwarepaket-Update Erstens stellen Sie sicher, dass Ihr Debian-System auf die neueste Version aktualisiert wurde: sudoaptupdatesudoaptupgrade 2. Installieren von OpenSSL und Development Library Installation OpenSSL und ihre erforderlichen Entwicklungsbibliotheken: sudoaptinInstallopensllibssl-DEV-Installation, verifizieren Sie, ob die Installation erfolgreich ist: OpenSSLSSLUSPENSIGN. Kompilieren und Installieren von OpenSSL: von OP

OpenSSL -Konfigurationsdateispeicherort auf DebianOpenSSL -Konfigurationsdateispeicherort auf DebianApr 13, 2025 am 06:06 AM

In Debian -Systemen befinden sich OpenSSL -Konfigurationsdateien normalerweise im Verzeichnis /etc /ssl. Der genaue Dateiort kann jedoch je nach Installationsmethode und OpenSSL -Version variieren. Hier sind einige gängige Dateien: SSL -Zertifikate und -tasten: normalerweise in/etc/ssl/certs und/etc/ssl/private Verzeichnisse gespeichert. Hauptkonfigurationsdatei: Die OpenSSL.cnf -Datei ist die Hauptkonfigurationsdatei von OpenSSL, die sich normalerweise in /etc/ssl/opensl.cnf befindet. Wenn Sie OpenSSL über einen Paketmanager wie APT installieren, sollten diese Dateien automatisch erstellt und im entsprechenden Verzeichnis platziert werden. bitte beachten Sie

So installieren Sie Phpstorming im Debian -SystemSo installieren Sie Phpstorming im Debian -SystemApr 13, 2025 am 06:03 AM

Installieren Sie PHPStorm im Debian -System, um Ihre PHP -Entwicklungsumgebung einfach zu lösen! Die folgenden Schritte führen Sie durch den gesamten Installationsprozess. Installationsschritte: Laden Sie PHPSTORM herunter: Besuchen Sie die offizielle Website von JetBrains und laden Sie die neueste Version von PHPSTORM herunter. Unzippieren Sie das Installationspaket: Nach dem Herunterladen mit WGet oder Curl es in das angegebene Verzeichnis (z. B. /opt) in das angegebene Verzeichnis entpacken. Befehlsbeispiel: wgethttps: //download.jetbrains.com/phpstorm/phpstorm-2024.3.5.tar.gztar-xzfphpstorm-2024.3.5.tar.gz

So installieren Sie Software über FetchdebianSo installieren Sie Software über FetchdebianApr 13, 2025 am 06:00 AM

Die bequemste Möglichkeit, die Debian -Systemsoftware zu installieren, besteht darin, den APT -Paketmanager zu verwenden. In den folgenden Schritten werden Sie effizient anhelfen, die pakete effizient zu verwenden: Aktualisieren Sie Paketinformationen: Aktualisieren Sie zunächst die lokale Paketliste, um sicherzustellen, dass die neuesten Softwareinformationen und verfügbaren Updates erhalten werden. Führen Sie den folgenden Befehl aus: sudoaptupdate Suchzielsoftware: Verwenden Sie den Befehl AptSearch, um die erforderliche Software zu finden. Um einen Texteditor zu finden, geben Sie ein: AptSearchEditor -System zurück, das alle übereinstimmenden Pakete zurückgibt. Installieren Sie die Software: Verwenden Sie nach dem Finden des Zielsoftwarepakets den Befehl Aptinstall, um es zu installieren. Installieren Sie beispielsweise den Nginx -Webserver: s

Das Herz von Linux: die 5 KernkomponentenDas Herz von Linux: die 5 KernkomponentenApr 13, 2025 am 12:15 AM

Die fünf Kernkomponenten von Linux sind Kernel-, Shell-, Dateisystem-, Systembibliotheks- und System -Tools. 1. Der Kernel verwaltet Hardware -Ressourcen und bietet Dienste für die Anwendung an. 2. Shell dient als Schnittstelle zwischen dem Benutzer und dem System, interpretiert und führt Befehle aus. 3. Das Dateisystem ist für die Speicherung und Organisation von Daten verantwortlich. 4. Die Systembibliothek bietet vorkompilierte Funktionen zur Bereitstellung von Programmanrufen. 5. Systemwerkzeuge werden für das Systemmanagement und die Wartung verwendet. Diese Komponenten arbeiten zusammen, um Linux leistungsfähige Funktionen und Flexibilität zu verleihen.

So überprüfen Sie die Debian OpenSSL -KonfigurationSo überprüfen Sie die Debian OpenSSL -KonfigurationApr 12, 2025 pm 11:57 PM

In diesem Artikel werden verschiedene Methoden eingeführt, um die OpenSSL -Konfiguration des Debian -Systems zu überprüfen, um den Sicherheitsstatus des Systems schnell zu erfassen. 1. Bestätigen Sie zuerst die OpenSSL -Version und stellen Sie sicher, ob OpenSSL installiert wurde und Versionsinformationen. Geben Sie den folgenden Befehl in das Terminal ein: Wenn OpenSslversion nicht installiert ist, fordert das System einen Fehler auf. 2. Zeigen Sie die Konfigurationsdatei an. Die Hauptkonfigurationsdatei von OpenSSL befindet sich normalerweise in /etc/ssl/opensl.cnf. Sie können einen Texteditor (z. B. Nano) verwenden: Sudonano/etc/ssl/openSSL.cnf Diese Datei enthält wichtige Konfigurationsinformationen wie Schlüssel-, Zertifikatpfad- und Verschlüsselungsalgorithmus. 3.. Verwenden Sie OPE

Wie man ein Hadoop -Entwicklungsumfeld auf Debian bautWie man ein Hadoop -Entwicklungsumfeld auf Debian bautApr 12, 2025 pm 11:54 PM

In diesem Leitfaden wird beschrieben, wie Sie eine Hadoop -Entwicklungsumgebung für ein Debian -System erstellen. 1. Installieren Sie Java Development Kit (JDK) zuerst, OpenJDK: Java_home = "/usr/lib/jvm/java-11-openjdk-amd64" speichern und beenden und dann ausführen: Quelle/etc.

Wie man Hadoop Resource Management auf Debian machtWie man Hadoop Resource Management auf Debian machtApr 12, 2025 pm 11:51 PM

Das effektive Verwalten von Hadoop -Ressourcen im Debian -System erfordert die folgenden Schritte: Hadoop -Bereitstellung: Füllen Sie zunächst die Installation und Konfiguration von Hadoop im Debian -System aus. Dies beinhaltet die erforderlichen Vorgänge wie das Herunterladen von Hadoop -Verteilungspaketen, Dekomprimierung, Einstellungsvariablen usw. Clusterkonfiguration: Konfigurieren Sie nach Abschluss der Installation den Hadoop -Cluster, wobei die Einstellungen von HDFs (Hadoop -verteiltes Dateisystem) und Garn (Yetanotherresourcenegotiator) abdeckt. Sie müssen die Kernkonfigurationsdatei ändern, wie z.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen