Накладные расходы на производительность подсистемы событий Perf в ядре Linux

Счетчики производительности для Linux - это новая подсистема на основе ядра, которая обеспечивает основу для всего анализа производительности. Он охватывает функции аппаратного уровня (CPU / PMU, Performance Monitoring Unit), а также функции программного обеспечения (программные счетчики, точки трассировки). Начиная с версии 2.6.33, ядро ​​предоставляет API ядра perf_event_create_kernel_counter для разработчиков, чтобы создать счетчик ядра для сбора информации о времени выполнения системы. Больше всего меня беспокоит влияние на производительность системы в целом при включении tracepoint / ftrace. Я не могу найти о них никаких документов. Однажды мне сказали, что ftrace был реализован путем динамического исправления кода, сильно ли это замедлит работу системы?


person Bo Xiao    schedule 08.05.2010    source источник
comment
perf должен иметь как можно меньшее влияние, насколько это зависит от того, что вы с ним делаете   -  person Spudd86    schedule 27.06.2010


Ответы (2)


Динамическое исправление используется как способ минимизировать накладные расходы, когда трассировка не активирована. Накладные расходы аппаратных счетчиков на основе PMU должны зависеть от того, сколько различных событий вы производите выборку и как часто. Вероятно, он достаточно низкий, чтобы вы могли найти приемлемую конфигурацию, в зависимости от того, что вы хотите. Я бы попытался включить любой интересующий вас сбор информации, тщательно установить частоту, а затем эмпирически проверить, приемлемы ли накладные расходы.

person Simon Ruggier    schedule 12.01.2011

Эти вещи добавляются, потому что люди думают, что они могут быть полезны, и, без сомнения, могут собирать интересную информацию. Если это цель, хорошо.

Однако если цель - настроить программное обеспечение для повышения производительности, они не имеют большого диагностического значения.

Они могут предоставить интересные измерения, но не говорят вам, что исправить.

Этот метод выполняет подскажу, что исправить.

person Mike Dunlavey    schedule 08.05.2010
comment
Что ж, моя цель - запустить долгосрочное профилирование на производственных машинах, поэтому больше всего меня беспокоят накладные расходы на производительность. - person Bo Xiao; 08.05.2010
comment
@Bo: Я бы подумал, что для долгосрочного мониторинга здоровья вам может не понадобиться информация, собираемая с высокой частотой - это скорее вопрос общего времени. Если у вас есть что-то, что собирает информацию с такой высокой частотой, что это может повлиять на производительность, я думаю, это будет намного больше информации, чем вы могли бы понять. Обычно люди занимаются инструментами (и беспокоятся о накладных расходах), чтобы попытаться найти узкие места (для чего это не лучший метод). - person Mike Dunlavey; 09.05.2010