OProfile — популярное средство профилирования для Linux-систем.

OProfile позволяет профилировать различные части системы — от обработчиков прерываний и драйверов, до пользовательских программ.

OProfile состоит из модуля ядра, резидентного демона и нескольких пользовательских утилит.

История Джон Левон создал OProfile в 2001 году, для Linux версии 2.4 на базе своей диссертацииInterview: John Levon , 11 Nov 2001 // KernelTrap: «John Levon, the author of OProfile».

В 2012 инженеры IBM признали OProfile одним из двух самых широко используемых инструментов профилирования на Linux, вместе с perf.

В 2021, было объявлено, что драйвер OProfile планируется удалить из ядра Linux 5.12 как устаревший. Его же набор утилит продолжит работать, используя драйвер профилирования perf.

Пользовательские утилиты  — утилита управления демоном, который собирает статистические данные. Эти данные периодически сохраняются в каталоге .  — утилита получения простого отчета профилирования. Утилита также может производить отчет анотированный ссылками на исходный код или инструкциями языка ассемблера.  — конвертирует данные из oprofile в gprof-совместимый формат.{ref-en}

Примеры:

$ opcontrol --start # запуск сбора данных демоном-коллектором

$ ./<имя_программы> # запуск отлаживаемой программы

$ opcontrol --dump

$ opreport -l <имя_программы> > ${output_file}

$ opcontrol --stop # остановка сбора данных

$ opcontrol --shutdown # остановка демона

$ opcontrol --reset # очистка данных сохраненных в файле

См. также Профилирование (информатика)

Примечания