READPROFILE(8) Systemadministration READPROFILE(8)

readprofile - läser information om kärnprofilering

readprofile [flaggor]

Denna manpage dokumenterar version 2.0 av programmet.

Kommandot readprofile använder informationen /proc/profile för att skriva ut ascii-data på standardutmatningen. Utdata är organiserade i tre kolumner: den första är antalet klockticks, den andra är namnet på den C-funktion i kärnan där dessa många ticks inträffade och den tredje är procedurens normaliserade `load', beräknad som en kvot mellan antalet ticks och procedurens längd. Utdata är fyllda med blanksteg för att underlätta läsbarheten.

This utility is a diagnostic tool and is not designed or intended for use in security-sensitive contexts (e.g., setuid, setgid, sudo, or similar privilege-elevation scenarios). It is installed without any special permissions.

-a, --all

Skriv ut alla symboler i kartfilen. Som standard skrivs inte procedurer med rapporterade ticks ut.

-b, --histbin

Skriv ut individuella histogram-bin-räkningar.

-i, --info

Info. Detta gör att readprofile endast skriver ut det profileringssteg som används av kärnan. Profileringssteget är upplösningen på profileringsbufferten och väljs under konfigurationen av kärnan (via make config) eller i kärnans kommandorad. Om omkopplaren -t (terse) används tillsammans med -i skrivs endast decimaltalet ut.

-m, --mapfile mapfile

Specify a mapfile, which by default is /boot/System.map. You should specify the map file on cmdline if your current kernel isn’t the last one you compiled, or if you keep System.map elsewhere. If the name of the map file ends with .gz it is decompressed on the fly.

-n, --no-auto

Disable automatic byte order detection.

-M, --multiplier multiplier

På vissa arkitekturer är det möjligt att ändra den frekvens med vilken kärnan levererar profileringsavbrott till varje processor. Med den här flaggan kan du ställa in frekvensen som en multiplikator av systemklockfrekvensen, HZ. I Linux 2.6.16 försvann stödet för multiplikatorer för de flesta system. Den här flaggan återställer också profileringsbufferten och kräver superanvändarprivilegier.

-p, --profile pro-file

Ange en annan profileringsbuffert, som standard är /proc/profile. Att använda en annan pro-fil är användbart om du vill `frysa' kärnprofileringen vid en viss tidpunkt och läsa den senare. Filen /proc/profile kan kopieras med hjälp av cat(1) eller cp(1). Det finns inte längre något stöd för komprimerade profilbuffertar, som i readprofile-1.1, eftersom programmet måste känna till storleken på bufferten i förväg.

-r, --reset

Reset the profiling buffer. This can only be invoked by root, because /proc/profile is readable by everybody but writable only by the superuser.

-s, --counters

Skriv ut enskilda räknare inom funktioner.

-v, --verbose

Utförlig. Utdata är organiserade i fyra kolumner och fyllda med blanksteg. Den första kolumnen är RAM-adressen för en kernelfunktion, den andra är namnet på funktionen, den tredje är antalet klockslag och den sista är den normaliserade belastningen.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

/proc/profile

En binär ögonblicksbild av profileringsbufferten.

_/usr/src/linux/System.map

Symboltabellen för kärnan.

/usr/src/linux/*

Det program som profileras :-)

readprofile fungerar bara med en 1.3.x eller nyare kärna, eftersom /proc/profile ändrades i steget från 1.2 till 1.3.

Det här programmet fungerar bara med ELF-kärnor. Ändringen för a.out-kärnor är trivial och lämnas som en övning till a.out-användaren.

För att aktivera profilering måste kärnan startas om, eftersom ingen profileringsmodul finns tillgänglig och det inte skulle vara lätt att bygga en sådan. För att aktivera profilering kan du ange profile=2 (eller ett annat nummer) på kommandoraden för kärnan. Det tal du anger är den tvåexponent som används som profileringssteg.

Profileringen är inaktiverad när avbrotten är avstängda. Detta innebär att många profileringsticks inträffar när avbrotten återaktiveras. Se upp för vilseledande information.

Bläddra i profileringsbufferten med ordning efter klockticks:

   readprofile | sort -nr | less

Skriv ut de 20 mest laddade procedurerna:

   readprofile | sort -nr +2 | head -20

Skriv endast ut filsystemets profil:

   readprofile | grep _ext2

Titta på all kärninformation, med ramadresser:

   readprofile -av | less

Bläddra i en "frusen" profilbuffert för en icke aktuell kärna:

   readprofile -p ~/profile.freeze -m /zImage.map.gz

Begär profilering vid 2 kHz per CPU och återställ profileringsbufferten:

   readprofile -M 20

För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.

Kommandot readprofile ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1