Linux Perf -kommandoer

Linux Perf -kommandoer
Det er et stort antall verktøy som kan tillate deg å revidere ytelsen til Linux -systemet ditt. I denne opplæringen takler vi PERF-kommandolinjeverktøyet. Perf er et kommandolinjeverktøy for lett CPU-profilering; Det sjekker CPU -ytelsesteller, sporpunkter, opprober og kprrober, skjermer programarrangementer, og oppretter rapporter.

Hvordan installere Perf

Perf er ikke installert som standard på Linux -systemer, og som sådan må du installere det manuelt.

Ubuntu/Debian, Utfør følgende kommandoer:

$ sudo apt oppdatering
$ sudo apt install Linux-Tools-$ (Uname -r) Linux-Tools-Generic

En gang RHEL og CENTOS systemer, utfør:

$ sudo yum install Perf

Fedora

$ sudo dnf install Perf

For å bekrefte at PEF er installert, kjør kommandoen:

$ Perf -Versjon

MERK:

PERF -kommando viser ufullstendige resultater når du jobber med virtualiseringsplattformer som VMware eller VirtualBox. Dette er fordi virtualiseringsteknologiene ikke gir tilgang til maskinvaretellere som andre teknologier som Xen eller KVM gjør.

For best resultat, sørg for at du jobber med en fysisk maskin eller en virtuell maskin som rir på KVM eller Xen Virtualization Technology.

Grunnleggende syntaks

Perf -kommandoen tar følgende syntaks

$ Perf -alternativkommando

MERK:

Som standard er PERF -kommandoen en reserve for rotbrukeren, og hvis du kjører kommandoene som en vanlig bruker, vil du møte en tillatelsesfeil, som vist.

Dette for å kjøre følgende kommando for å gi regelmessige brukertillatelser til å bruke Perf -verktøyet.

# ekko 0>/proc/sys/kjerne/perf_event_paranoid

For å gjøre endringene permanente, rediger /etc/sysctl.konf fil og legg til linjen nedenfor.

kjerne.Perf_event_paranoid = 0

Lagre deretter endringene og avslutningen.

Perf blir vanligvis utført med underkommandoer. Vi kommer til å dekke noen av de ofte brukte underkommandoene i denne guiden. For å få et bedre bilde, besøk imidlertid mannssidene.

Liste hendelser ved hjelp av Perf List -alternativ

De Perf -liste Alternativ viser alle symbolske hendelsestyper, inkludert maskinvare, programvare og kjernehendelser.

$ Perf -liste

For å begrense til en spesifikk hendelseskategori, kan du fikse kommandoen med kategorinavnet. For eksempel, for å se programvarearrangementer, kjør:

$ Perf List SW

Kun maskinvare-relaterte hendelser, kjør: Kjør:

$ Perf -liste HW

Samle ytelsesstatistikk ved hjelp av Perf Stat

Med stat Alternativ, kan du samle ytelsesstatistikk når en kommando utføres på terminalen. For eksempel å samle statistikk over ls Kommando, utfør:

$ perf Stat ls

Fra kommandoen kan vi se at henrettelsen tok 1.9 millisekunder av CPU. Du kan se annen statistikk som antall sykluser, instruksjoner, forgrenede og grensmisser.

Vis sanntidssystemprofil ved hjelp av Perf Top

Perf Top-kommandoen gir en live-analyse eller en sanntidssystemprofil av CPU-en din. De -en Flaget lar deg se alle eksisterende hendelsestyper

$ Perf top -a

De -e Alternativet lar deg velge en hendelseskategori blant flere kategorier som er oppført i Perf -liste kommando. For eksempel her viser vi live -analysen av CPU-klokke arrangementer.

$ Perf Top -e CPU -Clock

Registrer statistiske data for en kommando

De Perf Record Kommando utfører en kommando og lagrer utførelsesdataene i en perf.data fil i din nåværende katalog

$ Perf Record LS

De Perf manus Kommando lar deg skumme gjennom dataene som er lagret i perf.data fil.

$ PERF -skript

Til slutt kan du formatere data til en ytelsesrapport ved hjelp av rapportere underkommando som vist.

$ Perf -rapport

Dette er de viktigste Perf -underkommandoene som ofte brukes til å hente systemprofilytelsen. De har forhåndsdefinerte Man -sider som kan nås som følger:

$ mann perf underkommando

Når underkommando alternativet kan være Liste, topp, post, rapport, eller stat.

Sammendrag

Vi har belyset Perf -kommandoen, som kommer godt med å se på systemets CPU -ytelse og hendelser. Perf -kommandoen gir deg innsikt i hvilke programmer som tar mest utførelsestid og hjelper deg å optimalisere systemet ditt. Det er mer detaljert dokumentasjon opprettholdt i Perf Wiki.