READPROFILE(8) Administracja systemem READPROFILE(8) NAZWA readprofile - wyswietla informacje profilujace jadra SKLADNIA readprofile [opcje] WERSJA Niniejszy podrecznik dokumentuje wersje 2.0 programu. OPIS Polecenie readprofile uzywa informacji z /proc/profile do wypisywania danych ascii na standardowe wejscie. Wynik jest zorganizowany w trzech kolumnach: w pierwszej jest podana liczba cykli zegara, w drugiej nazwa funkcji C w jadrze gdzie te cykle wystapily, w trzeciej znormalizowane obciazenie procedury, obliczone jako wspolczynnik pomiedzy liczba cykli a wielkoscia procedury. Wynik jest wypelniany odstepami, aby go uczytelnic. 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. OPCJE -a, --all Wypisuje wszystkie symbole z pliku mapy. Domyslnie, procedury ze zgloszonymi cyklami nie sa wypisywane. -b, --histbin Wypisuje poszczegolne liczniki histogram-bin. -i, --info Informacja. readprofile jedynie wypisze krok profilowania uzywany przez jadro. Krok profilowania to rozdzielczosc bufora profilowania, wybierana przy konfiguracji jadra (za pomoca make config) lub z wiersza polecenia jadra. Jesli zastosuje sie przelacznik -t (terse - zwiezle) wraz z -i, to wypisze sama liczbe dziesietna. -m, --mapfile plik-mapy Okresla plik mapy, domyslnym jest /boot/System.map. Plik mapy nalezy podac w wierszu polecenia wtedy, gdy biezace jadro nie jest ostatnim, jakie sie kompilowalo albo chce sie przechowywac System.map w innym miejscu. Jesli nazwa pliku mapy konczy sie rozszerzeniem .gz, jest rozpakowywana w locie. -n, --no-auto Wylacza automatyczne wykrywanie kolejnosci bajtow. -M, --multiplier mnoznik Na niektorych architekturach mozna zmienic czestotliwosc, z jaka jadro dostarcza przerwania profilowania do kazdego procesora. Opcja ta pozwala ustawic czestotliwosc, jako wielokrotnosc czestotliwosci zegara systemowego w HZ. Linux 2.6.16 porzucil obsluge mnoznika w wiekszosci systemow. Opcja resetuje rowniez bufor profilowania i wymaga uprawnien superuzytkownika. -p, --profile plik-profilowania Okresla inny bufor profilowania, zamiast domyslnego /proc/profile. Stosowania innego pliku-profilowania jest przydatne, gdy chce sie "zamrozic" profilowanie jadra na jakis moment i odczytac je pozniej. Plik /proc/profile mozna kopiowac za pomoca cat(1) lub cp(1). Obecnie nie sa juz obslugiwane skompresowane bufory profilowania, jak mialo to miejsce w readprofile-1.1, poniewaz program z gory musi znac rozmiar bufora. -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 Wypisuje poszczegolne liczniki wewnatrz funkcji. -v, --verbose Tryb szczegolowy. Wynik jest zorganizowany w czterech kolumnach i wypelniany odstepami. Pierwsza kolumna zawiera adres pamieci RAM funkcji jadra, w drugiej jest nazwa funkcji, w trzeciej liczba cykli zegara, a w ostatniej znormalizowane obciazenie. -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. PLIKI /proc/profile Binarna migawka bufora profilowania. /usr/src/linux/System.map Tablica symboli jadra. /usr/src/linux/* Profilowany program :-) USTERKI readprofile dziala tylko z jadrami 1.3.x lub nowszymi, poniewaz krok /proc/profile zmienil sie pomiedzy wersjami 1.2 i 1.3. Program dziala tylko z jadrami ELF. Zmiana wymagana do dzialania z jadrami a.out jest trywialna i pozostawia sie ja jako cwiczenie dla uzytkownika a.out. Do wlaczenia profilowania konieczne jest przeladowanie jadra, poniewaz nie jest dostepny modul profilowania, a jego zbudowanie nie byloby latwe. Do wlaczenia profilowania mozna podac profile=2 (lub z inna liczba) w wierszu polecenia jadra. Podana liczba jest potega dwojki sluzaca jako krok profilowania. Profilowanie jest wylaczone, gdy wstrzymane sa przerwania. Oznacza to, ze wiele cykli profilowania wystapi przy wznowieniu przerwan. Nalezy wystrzegac sie tych mylacych informacji. PRZYKLAD Przegladanie bufora profilowania wedlug cykli zegara: readprofile | sort -nr | less Wypisanie 20 najbardziej obciazajacych procedur: readprofile | sort -nr +2 | head -20 Wypisanie jedynie profilu systemu plikow: readprofile | grep _ext2 Sprawdzenie wszystkich informacji jadra, lacznie z adresami ram: readprofile -av | less Przegladanie "zamrozonego" bufora profilowania niedzialajacego obecnie jadra: readprofile -p ~/profile.freeze -m /zImage.map.gz Zadanie profilowania przy 2kHz na procesor i zresetowanie bufora profilowania: readprofile -M 20 ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie readprofile jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.42.3 2026-09-02 READPROFILE(8)