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