Scroll to navigation

READPROFILE(8) Administrare sistem READPROFILE(8)

NUME

readprofile - citește informațiile de profilare a nucleului

REZUMAT

readprofile [opțiuni]

VERSIUNEA

Această pagină de manual documentează versiunea 2.0 a programului.

DESCRIERE

Comanda readprofile utilizează informațiile /proc/profile pentru a afișa date ascii la ieșirea standard. Ieșirea este organizată pe trei coloane: prima este numărul de ticuri de ceas, a doua este numele funcției C din nucleu în care au avut loc cele mai multe ticuri, iar a treia este „încărcarea” normalizată a procedurii, calculată ca raport între numărul de ticuri și lungimea procedurii. Ieșirea este completată cu spații goale pentru a ușura citirea.

OPȚIUNI

-a, --all

Afișează toate simbolurile din fișierul de hartă. În mod implicit, procedurile cu bifurcații raportate nu sunt afișate.

-b, --histbin

Afișează numărul individual al intervalelor (marcajelor) din histogramă.

-i, --info

Informații. Acest lucru face ca readprofile să afișeze doar pasul de profilare utilizat de nucleu. Pasul de profilare este rezoluția memoriei tampon de profilare și este aleasă în timpul configurării nucleului (prin make config) sau în linia de comandă a nucleului. Dacă opțiunea -t („terse”, laconic) este utilizată împreună cu -i, se afișează numai numărul zecimal.

-m, --mapfile fișier-hartă

Specifică un fișier de hartă, care, în mod implicit, este /usr/src/linux/System.map. Ar trebui să specificați fișierul de hărți în cmdline dacă nucleul curent nu este ultimul pe care l-ați compilat sau dacă păstrați System.map în altă parte. Dacă numele fișierului map se termină cu .gz, acesta este decomprimat din mers.

-M, --multiplier multiplicator

Pe anumite arhitecturi este posibilă modificarea frecvenței la care nucleul livrează întreruperi de profilare către fiecare procesor. Această opțiune vă permite să stabiliți frecvența, ca multiplicator al frecvenței ceasului de sistem, în HZ. Linux 2.6.16 a renunțat la suportul pentru multiplicatori pentru majoritatea sistemelor. Această opțiune reinițiază, de asemenea, memoria tampon de profilare și necesită privilegii de superutilizator.

-p, --profile fișier-profile

Specifică o altă memorie tampon de profilare, care, în mod implicit, este /proc/profile. Utilizarea unui fișier de profil diferit este utilă dacă doriți să „înghețați” profilarea nucleului la un moment dat și să o citiți mai târziu. Fișierul /proc/profile poate fi copiat folosind cat(1) sau cp(1). Nu mai există suport pentru memorii tampon de profil comprimate, ca în readprofile-1.1, deoarece programul trebuie să cunoască în prealabil dimensiunea memoriei tampon.

-r, --reset

Reinițiază memoria tampon de profilare. Acest lucru poate fi invocat numai de către root, deoarece /proc/profile poate fi citit de toată lumea, dar poate fi scris numai de către superutilizator. Cu toate acestea, puteți face readprofile set-user-ID 0, pentru a reiniția memoria tampon fără a obține privilegii.

-s, --counters

Afișează contoarele individuale din cadrul funcțiilor.

-v, --verbose

Descriptivă. Ieșirea este organizată în patru coloane și completată cu spații libere. Prima coloană este adresa RAM a unei funcții a nucleului, a doua este numele funcției, a treia este numărul de ticuri de ceas și ultima este sarcina normalizată.

-h, --help

Afișează acest mesaj de ajutor și iese.

-V, --version

Afișează informațiile despre versiune și iese.

FIȘIERE

/proc/profile

Un instantaneu binar al memoriei tampon de profilare.

/usr/src/linux/System.map

Tabelul de simboluri al nucleului.

/usr/src/linux/*

Programul care face obiectul profilului :-)

ERORI

readprofile funcționează numai cu un nucleu 1.3.x sau mai nou, deoarece /proc/profile s-a schimbat la trecerea de la 1.2 la 1.3.

Acest program funcționează numai cu nuclee ELF. Schimbarea pentru nucleele a.out este trivială și este lăsată ca un exercițiu pentru utilizatorul a.out.

Pentru a activa profilarea, nucleul trebuie repornit, deoarece nu este disponibil un modul de profilare și nu ar fi ușor de construit. Pentru a activa profilarea, puteți specifica profile=2 (sau un alt număr) în linia de comandă a nucleului. Numărul pe care îl specificați este numărul cu exponentul doi utilizat ca pas de profilare.

Profilarea este dezactivată atunci când întreruperile sunt inhibate. Acest lucru înseamnă că multe ticuri de profilare au loc atunci când întreruperile sunt reactivate. Aveți grijă la informațiile înșelătoare.

EXEMPLU

Răsfoiește memoria tampon de profilare ordonată în funcție de ticurile de ceas:


readprofile | sort -nr | less

Afișează cele mai încărcate 20 de proceduri:


readprofile | sort -nr +2 | head -20

Afișează numai profilul sistemului de fișiere:


readprofile | grep _ext2

Consultă toate informațiile despre nucleu, cu adresele ram:


readprofile -av | less

Răsfoiește o memorie tampon de profil „înghețată” (frozen) pentru un nucleu care nu este actual:


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

Solicită crearea de profiluri la 2kHz pentru fiecare procesor și reinițiază memoria tampon de profilare:


sudo readprofile -M 20

RAPORTAREA ERORILOR

Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor la <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

Comanda readprofile face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-01-09 util-linux 2.40.3