READPROFILE(8) Administrare sistem READPROFILE(8) NUME readprofile - citete informaiile de profilare a nucleului REZUMAT readprofile [opiuni] VERSIUNEA Aceasta pagina de manual documenteaza versiunea 2.0 a programului. DESCRIERE Comanda readprofile utilizeaza informaiile /proc/profile pentru a afia date ascii la ieirea standard. Ieirea este organizata pe trei coloane: prima este numarul de ticuri de ceas, a doua este numele funciei C din nucleu in care au avut loc cele mai multe ticuri, iar a treia este ,,incarcarea" normalizata a procedurii, calculata ca raport intre numarul de ticuri i lungimea procedurii. Ieirea este completata cu spaii goale pentru a uura citirea. OPIUNI -a, --all Afieaza toate simbolurile din fiierul de harta. In mod implicit, procedurile cu bifurcaii raportate nu sunt afiate. -b, --histbin Afieaza numarul individual al intervalelor (marcajelor) din histograma. -i, --info Informaii. Acest lucru face ca readprofile sa afieze doar pasul de profilare utilizat de nucleu. Pasul de profilare este rezoluia memoriei tampon de profilare i este aleasa in timpul configurarii nucleului (prin make config) sau in linia de comanda a nucleului. Daca opiunea -t (,,terse", laconic) este utilizata impreuna cu -i, se afieaza numai numarul zecimal. -m, --mapfile fiier-harta Specifica un fiier de harta, care, in mod implicit, este /usr/src/linux/System.map. Ar trebui sa specificai fiierul de hari in cmdline daca nucleul curent nu este ultimul pe care l-ai compilat sau daca pastrai System.map in alta parte. Daca numele fiierului map se termina cu .gz, acesta este decomprimat din mers. -M, --multiplier multiplicator Pe anumite arhitecturi este posibila modificarea frecvenei la care nucleul livreaza intreruperi de profilare catre fiecare procesor. Aceasta opiune va permite sa stabilii frecvena, ca multiplicator al frecvenei ceasului de sistem, in HZ. Linux 2.6.16 a renunat la suportul pentru multiplicatori pentru majoritatea sistemelor. Aceasta opiune reiniiaza, de asemenea, memoria tampon de profilare i necesita privilegii de superutilizator. -p, --profile fiier-profile Specifica o alta memorie tampon de profilare, care, in mod implicit, este /proc/profile. Utilizarea unui fiier de profil diferit este utila daca dorii sa ,,ingheai" profilarea nucleului la un moment dat i sa o citii mai tarziu. Fiierul /proc/profile poate fi copiat folosind cat(1) sau cp(1). Nu mai exista suport pentru memorii tampon de profil comprimate, ca in readprofile-1.1, deoarece programul trebuie sa cunoasca in prealabil dimensiunea memoriei tampon. -r, --reset Reiniiaza memoria tampon de profilare. Acest lucru poate fi invocat numai de catre root, deoarece /proc/profile poate fi citit de toata lumea, dar poate fi scris numai de catre superutilizator. Cu toate acestea, putei face readprofile set-user-ID 0, pentru a reiniia memoria tampon fara a obine privilegii. -s, --counters Afieaza contoarele individuale din cadrul funciilor. -v, --verbose Descriptiva. Ieirea este organizata in patru coloane i completata cu spaii libere. Prima coloana este adresa RAM a unei funcii a nucleului, a doua este numele funciei, a treia este numarul de ticuri de ceas i ultima este sarcina normalizata. -h, --help Afieaza acest mesaj de ajutor i iese. -V, --version Afieaza versiunea i iese. FIIERE /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 funcioneaza 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 funcioneaza numai cu nuclee ELF. Schimbarea pentru nucleele a.out este triviala i este lasata ca un exerciiu pentru utilizatorul a.out. Pentru a activa profilarea, nucleul trebuie repornit, deoarece nu este disponibil un modul de profilare i nu ar fi uor de construit. Pentru a activa profilarea, putei specifica profile=2 (sau un alt numar) in linia de comanda a nucleului. Numarul pe care il specificai este numarul cu exponentul doi utilizat ca pas de profilare. Profilarea este dezactivata atunci cand intreruperile sunt inhibate. Acest lucru inseamna ca multe ticuri de profilare au loc atunci cand intreruperile sunt reactivate. Avei grija la informaiile inelatoare. EXEMPLU Rasfoiete memoria tampon de profilare ordonata in funcie de ticurile de ceas: readprofile | sort -nr | less Afieaza cele mai incarcate 20 de proceduri: readprofile | sort -nr +2 | head -20 Afieaza numai profilul sistemului de fiiere: readprofile | grep _ext2 Consulta toate informaiile despre nucleu, cu adresele ram: readprofile -av | less Rasfoiete o memorie tampon de profil ,,ingheata" (frozen) pentru un nucleu care nu este actual: readprofile -p ~/profile.freeze -m /zImage.map.gz Solicita crearea de profiluri la 2kHz pentru fiecare procesor i reiniiaza memoria tampon de profilare: sudo readprofile -M 20 RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda readprofile face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.41 2025-03-29 READPROFILE(8)