perf
- perf – narzędzie dostarczane z jądrem Linux, umożliwiające monitorowanie i analizę wydajności procesów, wątków, CPU oraz całego systemu.
- Główne zastosowania: identyfikacja wąskich gardeł, analiza liczników sprzętowych, śledzenie zdarzeń jądra.
- Dostępność: w większości dystrybucji Linux w pakiecie
linux-tools
lubperf
.
Składnia
Dział zatytułowany „Składnia”perf [polecenie] [opcje] [argumenty]
- Popularne podpolecenia:
stat
,record
,report
,top
,list
.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
stat | Zbiera statystyki wydajności dla podanej komendy lub procesu. |
record | Rejestruje zdarzenia wydajności w pliku danych. |
report | Generuje raport z pliku utworzonego przez record . |
top | Wyświetla na żywo funkcje zużywające najwięcej zasobów CPU. |
list | Wyświetla listę dostępnych zdarzeń do monitorowania. |
annotate | Pokazuje szczegóły kodu źródłowego/assemblera dla próbek. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1) Statystyki wydajności dla komendyperf stat ls -R /
# 2) Rejestracja danych i późniejszy raportperf record ./program && perf report
# 3) Monitorowanie w czasie rzeczywistymperf top
# 4) Lista dostępnych zdarzeńperf list
- Do monitorowania całego systemu wymagane są uprawnienia administratora.
perf
może znacząco obciążać system przy intensywnym zbieraniu danych.- Wyniki analizy zależą od dostępnych liczników sprzętowych w CPU.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
permission denied | Brak uprawnień do zbierania zdarzeń jądra. | Uruchom z sudo lub dostosuj /proc/sys/kernel/perf_event_paranoid . |
No such file or directory przy record | Brak programu lub błędna ścieżka. | Sprawdź nazwę pliku i lokalizację. |
Brak symboli w raporcie | Brak zainstalowanych pakietów z debug-symbols. | Zainstaluj symbole debugowania dla używanych pakietów. |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man perf – oficjalna dokumentacja.
- Perf Wiki – przewodnik po narzędziu.
- Linux Performance – tutorial i przykłady.