/proc/timer_stats - statystyki czasomierzy
- /proc/timer_stats (od Linuksa 2.6.21 do Linuksa 4.10)
- Jest to funkcja debugowania uwidaczniające (nad)użycia
czasomierzy w systemie Linux deweloperom jądra i przestrzeni
użytkownika. Może być używana przez
deweloperów zajmujących się jądrem i
przestrzenią użytkownika do weryfikacji, czy ich kod nie
używa w nadmiarze czasomierzy. Celem jest zapobieganie
niepotrzebnym wybudzeniom, aby zoptymalizować zużycie
energii.
- Jeśli jest to włączone w jądrze
(CONFIG_TIMER_STATS), lecz nie jest używane, ma narzut
bliski zera oraz relatywnie niewielki narzut struktury danych. Nawet gdy
zbieranie danych jest włączone przy rozruchu, narzut jest
niski: wszystkie blokowania następują według CPU, a
wyszukiwanie jest haszowane.
- Plik /proc/timer_stats jest używany do kontrolowania funkcji
próbkowania i odczytu próbek informacji.
- Funkcja timer_stats jest nieaktywna przy rozruchu. Okres
próbkowania można uruchomić poleceniem:
-
# echo 1 > /proc/timer_stats
- Następujące polecenie zatrzymuje okres
próbkowania:
-
# echo 0 > /proc/timer_stats
- Statystyki można pozyskać przy pomocy:
-
$ cat /proc/timer_stats
- Gdy próbkowanie jest włączone, każdy odczyt z
/proc/timer_stats daje nowo zaktualizowane statystyki. Po
wyłączeniu próbkowania, próbki informacji
są zachowywane do momentu włączenia nowego
okresu próbkowania. Pozwala to na wielokrotny odczyt.
- Próbka wyniku z /proc/timer_stats:
-
$ cat /proc/timer_stats
Timer Stats Version: v0.3
Sample period: 1.764 s
Collection: active
255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer)
71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer)
58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer)
4, 1694 gnome-shell mod_delayed_work_on (delayed_work_timer_fn)
17, 7 rcu_sched rcu_gp_kthread (process_timeout)
...
1, 4911 kworker/u16:0 mod_delayed_work_on (delayed_work_timer_fn)
1D, 2522 kworker/0:0 queue_delayed_work_on (delayed_work_timer_fn)
1029 total events, 583.333 events/sec
- Kolumny wyniku:
- [1]
- licznik liczby zdarzeń, po którym opcjonalnie (od Linuksa
2.6.23) występuje litera „D”, jeśli jest to
czasomierz odraczalny;
- [2]
- PID procesu inicjującego czasomierz
- [3]
- nazwa procesu inicjującego czasomierz;
- [4]
- funkcja, w której zainicjowano czasomierz; oraz (w nawiasach)
funkcja wywołania zwrotnego związanego z czasomierzem.
- W cyklu rozwojowym Linuksa 4.11, plik ten usunięto ze
względów bezpieczeństwa, jako że ujawnia on
informacje poprzez różne przestrzenie nazw. Co
więcej, można pozyskać te same informacje za
pomocą śledzenia udostępnianego przez jądro,
np. ftrace.
Tłumaczenie niniejszej strony podręcznika: Przemek
Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org>
i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną
dokumentacją. Bliższe informacje o warunkach licencji
można uzyskać zapoznając się z
GNU General
Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika
prosimy zgłaszać na adres listy dyskusyjnej
manpages-pl-list@lists.sourceforge.net.