To jest polecenie śledzenia wydajności, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
perf-trace - narzędzie inspirowane strace
STRESZCZENIE
perf wyśledzić
perf wyśledzić rekord
OPIS
To polecenie pokaże zdarzenia związane z celem, początkowo wywołania systemowe, ale
inne zdarzenia systemowe, takie jak błędy stron, zdarzenia czasu życia zadania, zdarzenia planowania itp.
Jest to narzędzie działające w trybie na żywo oprócz pracy z plikami perf.data, takimi jak inne perf
narzędzia. Pliki można generować za pomocą perf rekord polecenie, ale sesja musi
uwzględnij zdarzenia raw_syscalls (-e raw_syscalls:*). Alternatywnie, perf wyśledzić rekord mogą
być używany jako skrót do automatycznego dołączania zdarzeń raw_syscalls podczas pisania zdarzeń
do pliku.
Poniższe opcje dotyczą śledzenia wydajności; opcje rekordu śledzenia wydajności znajdują się w
perf rekord strony podręcznika.
OPCJE
-a, --all-cpus
Kolekcja z całego systemu ze wszystkich procesorów.
-e, --wyrażenie
Lista wywołań systemowych do wyświetlenia, obecnie tylko nazwy wywołań systemowych. Poprzedzony ! pokazuje wszystko
wywołania systemowe, ale te określone. Być może będziesz musiał uciec.
-o, --wyjście=
Nazwa pliku wyjściowego.
-p, --pid=
Rejestruj zdarzenia na istniejącym identyfikatorze procesu (lista oddzielona przecinkami).
-t, --tid=
Rejestruj zdarzenia na istniejącym identyfikatorze wątku (lista oddzielona przecinkami).
-u, --uid=
Rejestruj zdarzenia w wątkach należących do uid. Imię lub numer.
--filtr-pid=
Odfiltruj zdarzenia dla tych pidów i dla wyśledzić się (lista oddzielona przecinkami).
-v, --verbose=
Poziom szczegółowości.
--nie-dziedziczy
Zadania podrzędne nie dziedziczą liczników.
-m, --mmap-strony=
Liczba stron danych mmap (musi być potęgą dwójki) lub specyfikacja rozmiaru z dołączonym
znak jednostki - B/K/M/G. Rozmiar jest zaokrąglany w górę, aby liczba najbliższych stron wynosiła dwa
wartość.
-C, --procesor
Zbieraj próbki tylko z dostarczonej listy procesorów. Wiele procesorów może być dostarczonych jako
lista oddzielona przecinkami bez spacji: 0,1. Zakresy procesorów są określone za pomocą -: 0-2. w
tryb na wątek z włączonym trybem dziedziczenia (domyślnie), zdarzenia są przechwytywane tylko wtedy, gdy
wątek jest wykonywany na wyznaczonych procesorach. Domyślnie monitorowane są wszystkie procesory.
--duration: Pokaż tylko zdarzenia, które miały czas trwania dłuższy niż NM ms.
--sched: Nalicza czas wykonywania wątków i dostarcza podsumowanie na koniec sesji.
-i --input Przetwarza zdarzenia z podanego pliku danych perf.
-T --time Wypisuje pełny znacznik czasu, a raczej czas względem pierwszej próbki.
--kom
Pokaż COMM procesu tuż obok jego identyfikatora, domyślnie włączone, wyłącz za pomocą --no-comm.
-s, --podsumowanie
Pokaż tylko podsumowanie wywołań systemowych według wątku z minimalnym, maksymalnym i średnim czasem (w milisekundach)
i względne standardowe odchylenie.
-S, --z-podsumowaniem
Pokaż wszystkie wywołania systemowe, a następnie podsumowanie według wątku z minimalnym, maksymalnym i średnim czasem (in
ms) i względne standardowe odchylenie.
--statystyki_narzędzi
Pokaż statystyki narzędzia, takie jak liczba razy fd→ścieżka została wykryta przez podpięcie
otwarty powrót syscall + vfs_getname lub poprzez odczyt /proc/pid/fd itp.
-F=[wszystkie|min|maj], --pf=[wszystkie|min|maj]
Śledź błędy stron. Opcjonalnie możesz określić, czy chcesz mieć drugorzędne, główne lub wszystkie
błędy stron. Wartość domyślna to maj.
--wywołania systemowe
Śledzenie wywołań systemowych. Ta opcja jest domyślnie włączona.
--wydarzenie
Śledź inne wydarzenia, zobacz perf podstęp dla pełnej listy.
--proc-map-timeout
Przetwarzanie istniejących wątków /proc/XXX/mmap może zająć dużo czasu, ponieważ
plik może być ogromny. W takich przypadkach potrzebna jest przerwa. Ta opcja ustawia czas
z limitem. Wartość domyślna to 500 ms.
BŁĘDY STRONY
Podczas śledzenia błędów stron format śledzenia jest następujący:
wada [ + ][email chroniony][1]> (
poziom>).
· min/maj wskazuje, czy zdarzenie związane z usterką jest drobne czy poważne;
· ip.symbol pokazuje symbol wskaźnika instrukcji (kod, który wygenerował błąd); Jeśli
brak dostępnych symboli debugowania, perf trace wydrukuje surowy adres IP;
· addr.dso pokazuje DSO dla uszkodzonego adresu;
· typ mapy to albo d dla map niewykonywalnych lub x dla map wykonywalnych;
· poziom addr to albo k dla jądra dso lub . dla użytkownika dso.
Do rozpoznawania symboli może być konieczne zainstalowanie symboli debugowania.
Należy pamiętać, że czas trwania wynosi obecnie zawsze 0 i nie odzwierciedla rzeczywistego czasu.
wziął za winy do obsługi!
Gdy podano --verbose, perf trace próbuje wydrukować wszystkie dostępne informacje dla obu adresów IP
i adres usterki w postaci dso@symbol[2]+przesunięcie.
PRZYKŁADY
Śledź tylko główne błędy stron:
$ Perf trace --no-syscalls -F
Śledź wywołania systemowe, główne i drobne błędy stron:
$ perf ślad -F wszystko
1416.547 ( 0.000 ms): python/20235 poważny błąd [CRYPTO_push_info_+0x0] => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0@0x61be0 (x.)
Jak widać, w procesie Pythona wystąpił poważny błąd strony, od
Procedura CRYPTO_push_info_, która zawiodła gdzieś w libcrypto.so.
Korzystaj z narzędzia perf-trace online za pomocą usług onworks.net