Linux Perf: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 14: | Строка 14: | ||
=Введение в <code>perf</code>= |
=Введение в <code>perf</code>= |
||
Для тестирования, просто что бы понимать какие данные можно получить, и как с ними работать, запускаю сбор данных на "просто сервере" |
Для тестирования, просто что бы понимать какие данные можно получить, и как с ними работать, запускаю сбор данных на "просто сервере" |
||
+ | ==Сбор данных== |
||
− | |||
<PRE> |
<PRE> |
||
+ | perf record -a -F 99 -g |
||
+ | </PRE> |
||
+ | * <code>-a, --all-cpus</code> - собрать данные со всех процессоров |
||
+ | * <code>-F, --freq=</code> - частота, лучше выбирать нечетную что бы избежать ситуации когда регулярные события с происходящие частотой равной или кратной частоте семплирования, не будут записаны. |
||
+ | * <code>-g</code> нужна для захвата стек трейсов |
||
+ | * Результат будет записан в файл <code>perf.data</code> (не указано, это значение по-умолчанию) |
||
+ | ==Просмотр результатов== |
||
+ | Посмотреть полученный результат можно командой: |
||
+ | <PRE> |
||
+ | perf report -g fractal |
||
</PRE> |
</PRE> |
||
+ | * Опция -g fractal нужна для того, чтобы проценты, отражающие количество сэмплов с этой функцией и показываемые perf, были относительны вызывающей функции, количество вызовов которой берется за 100%. |
||
=11= |
=11= |
Версия 12:07, 18 марта 2024
Linux perf
Поиск проблем в ядре, пример.
Авторы
- Основное исследование провел Денис Миргородский (email to be added!), я сделал только некоторые незначительные дополнения и оформил эту доку.
Зачем это нужно ?
Иногда хочется понять, что вообще происходит с системой, в частности мы наблюдали примерно 30-процентное проседание скорости работы хранилища (в IOPS)
после обновления Compute Node (OpenStack) с ядра 5.4
до 5.15
Введение в perf
Для тестирования, просто что бы понимать какие данные можно получить, и как с ними работать, запускаю сбор данных на "просто сервере"
Сбор данных
perf record -a -F 99 -g
-a, --all-cpus
- собрать данные со всех процессоров-F, --freq=
- частота, лучше выбирать нечетную что бы избежать ситуации когда регулярные события с происходящие частотой равной или кратной частоте семплирования, не будут записаны.-g
нужна для захвата стек трейсов- Результат будет записан в файл
perf.data
(не указано, это значение по-умолчанию)
Просмотр результатов
Посмотреть полученный результат можно командой:
perf report -g fractal
- Опция -g fractal нужна для того, чтобы проценты, отражающие количество сэмплов с этой функцией и показываемые perf, были относительны вызывающей функции, количество вызовов которой берется за 100%.