НАИМЕНОВАНИЕ
/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.
ПЕРЕВОД
Русский
перевод
этой
страницы
руководства
разработал(и)
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>
и Kirill Rekhov <krekhov.dev@gmail.com>
Этот
перевод
является
свободной
программной
документацией;
он
распространяется
на
условиях
общедоступной
лицензии GNU (GNU
General Public License - GPL,
https://www.gnu.org/licenses/gpl-3.0.html
версии 3 или
более
поздней) в
отношении
авторского
права, но
БЕЗ
КАКИХ-ЛИБО
ГАРАНТИЙ.
Если вы
обнаружите
какие-либо
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
сообщите
об этом
разработчику(ам)
по его(их)
адресу(ам)
электронной
почты или
по адресу
списка
рассылки
русских
переводчиков.