scootergrisen
2020

# Profilering

# Profilér dit system

Når Sysprof profilerer dit system, så optager det stakinformation for alle programmer som udføres, herunder Linux-kernen. Det kan nogle gange være forvirrende, hvis du kun vil se på en enkelt proces. Interagerer dit program ikke med værtssystemet, kan du med fordel bruge Sysprof til at starte en ny proces.

Sørg for at målknappen er indstillet til Alle processer og klik på Optag for at profilere hele systemet.

Du vil nu blive spurgt om at godkende adgang til at profilere systemet. Det kræves fordi Linux-kernens perf-implementering kræver root for at udføre profilering af hele systemet.

Under profileringssessionen kan du se antallet af sekunder, som profileringen har været aktiv. Klik på Optag-knappen igen for at stoppe profileringssessionen. Hvorefter kaldgrafen vises.

Hvis sysprof-programmet vises i din profileringskaldgraf, så kan du måske overveje at optage profileringssessionen med sysprof-cli. Det er et kommandolinjeprogram, som optager din profileringssession til disk, så du kan se på det på et senere tidspunkt.

Se fortolkning af resultater for mere vejledning.

# Profilér en ny proces

Often times, you may need to spawn a new process to profile. First, select the Application button next at the top of the recording window. Fill in your command and working directory, and optionally specify any environment variables you need. Your process will be started when recording begins.

Hvis du starter en proces som kræver adgang til din nuværende skærm såsom et GTK+-program, så sørg for at Nedarv nuværende miljø er indstillet.

# Profilering med kommandolinjeværktøjet sysprof-cli

For minimal overhead kan du overveje at bruge sysprof-cli-kommandolinjeværktøjet. Når det køres uden argumenter, så optages hele systemet og outputtet gemmes i capture.syscap. Filen kan åbnes med Sysprof-programmet for at vise kaldgrafen.

If you would like to spawn a new process, use sysprof-cli -- 'command' to specify a command to be launched. The command will inherit the current environment.

# Fortolkning af resultater

Profileringsresultaterne i Sysprof opdeles i 3 afsnit. Øverste til venstre er en liste over alle de funktioner, som er blevet profileret. De er sorteret efter hvor ofte, de blev kaldt under optagelsen.

Det er vigtigt at bemærke, at mængden af tid som blev brugt i hver funktion ikke optages. Det ville kræve en sporingsprofilering for at få en præcis optagelse. Procenten udregnes ved at fastslå, hvor ofte funktionen dukkede op i det nuværende stakspor når en prøve blev optaget.

Når en funktion er blevet valgt fra funktionslisten, så vises alle de optagede kaldere for funktionen nederst til venstre. De sorteres også efter procenten af prøvetagninger, som inkluderer funktionen i staksporet.

Til højre er alle efterkommerne af den valgte funktion. Du kan enten vælge en funktion fra funktionslisten eller kalderlisten.

If you see - - Context Switch - - in your results, that means that the application transitioned into or from the Linux kernel. There can be many reasons for this such as a syscall or signal.