Scroll to navigation

proc_timer_stats(5) File Formats Manual proc_timer_stats(5)

ИМЯ

/proc/timer_stats - timer statistics

ОПИСАНИЕ

/proc/timer_stats (Linux 2.6.21 по Linux 4.10)
Это отладочное средство делает таймер, используемый в системе Linux, видимым разработчикам ядра и в пользовательском пространстве. Оно может использоваться для проверки отсутствия чрезмерной нагрузки на таймеры. Цель — для оптимизации потребления энергии избежать ненужных пробуждений.
Если включено в ядре (CONFIG_TIMER_STATS) и не используется, то почти не задействует процессор и потребляет относительно малое количество памяти под структуры данных. Даже включённый в время выполнения сбор статистики не даёт высокой нагрузки: все блокировки относятся к ЦП, а поиск хэшируется.
Файл /proc/timer_stats используется для управления функцией сборки и чтения полученных результатов.
Средство timer_stats при запуске системы неактивно. Период тестирования может быть запущен командой:

# echo 1 > /proc/timer_stats
    

Следующая команда остановит период тестирования:

# echo 0 > /proc/timer_stats
    

Статистику можно получить так:

$ cat /proc/timer_stats
    

На время действия периода сбора каждым чтением /proc/timer_stats можно получить обновлённую статистику. После выключения сбора статистика останется доступной до следующего начала периода сбора. Это позволяет читать несколько раз.
Пример статистики из /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

Выводимые столбцы:
[1]
счётчик событий, за которым следует (начиная с Linux 2.6.23) необязательная буква «D», если это отложенный таймер;
[2]
PID процесса, который инициализировал таймер;
[3]
имя процесса, который инициализировал таймер;
[4]
the function where the timer was initialized; and (in parentheses) the callback function that is associated with the timer.
В течении цикла разработки Linux 4.11 этот файл был удалён из-за проблем с безопасностью, так как выдавал информацию всем пространствам имён. Кроме этого, подобную информацию можно получить через встроенные в ядро возможности трассировки, например через ftrace.

СМОТРИТЕ ТАКЖЕ

proc(5)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Linux man-pages (unreleased)