/proc/timer_stats - statistici temporizator
- /proc/timer_stats (de la Linux 2.6.21 până la Linux
4.10)
- Aceasta este o facilitate de depanare pentru a face (ab)uz de temporizator
într-un sistem Linux vizibil pentru dezvoltatorii de nucleu
și spațiu de utilizator. Aceasta poate fi utilizată
de dezvoltatorii nucleului și ai spațiului de utilizator
pentru a verifica dacă codul lor nu utilizează în mod
nejustificat temporizatoarele. Scopul este de a evita trezirile inutile,
optimizând astfel consumul de energie.
- Dacă este activată în nucleu
(CONFIG_TIMER_STATS), dar nu este utilizată, are un cost de
execuție aproape zero și un cost de structură a
datelor relativ mic. Chiar dacă colectarea este activată
în timpul execuției, supraîncărcarea este
redusă: toate blocările sunt per-CPU și
căutarea este hașurată.
- Fișierul /proc/timer_stats este utilizat atât pentru
a controla funcția de eșantionare, cât și
pentru a citi informațiile eșantionate.
- Funcționalitatea timer_stats este inactivă la
pornire. O perioadă de eșantionare poate fi pornită
utilizând următoarea comandă:
-
# echo 1 > /proc/timer_stats
- Următoarea comandă oprește o perioadă de
eșantionare:
-
# echo 0 > /proc/timer_stats
- Statisticile pot fi preluate prin:
-
$ cat /proc/timer_stats
- În timp ce eșantionarea este activată, fiecare citire
din /proc/timer_stats va afișa statistici actualizate
recent. Odată ce eșantionarea este dezactivată,
informațiile eșantionate sunt păstrate
până la începerea unei noi perioade de
eșantionare. Acest lucru permite citiri multiple.
- Exemplu de ieșire din /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
- Coloanele de ieșire sunt:
- [1]
- o contorizare a numărului de evenimente, opțional (de la
Linux 2.6.23) urmată de litera „D” dacă acesta
este un temporizator cu întârziere;
- [2]
- PID-ul procesului care a inițializat temporizatorul;
- [3]
- numele procesului care a inițializat temporizatorul;
- [4]
- funcția în care a fost inițializat temporizatorul;
și (între paranteze) funcția de reapelare care este
asociată cu temporizatorul.
- În timpul ciclului de dezvoltare Linux 4.11, acest fișier a
fost eliminat din cauza preocupărilor legate de securitate,
deoarece expune informații prin intermediul spațiilor de
nume. În plus, este posibil să se obțină
aceleași informații prin intermediul
facilităților de urmărire din interiorul nucleului,
cum ar fi ftrace.
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.