Оригинальный автор(ы) | Джон Левон |
---|---|
Первоначальный выпуск | 2001 |
Стабильный релиз | 1.4.0 / 20 июля 2020 г. ( 2020-07-20 ) |
Написано в | С |
Операционная система | Линукс |
Платформа | Кроссплатформенный |
Тип | Профайлер |
Лицензия | GPL |
Веб-сайт | oprofile.sourceforge.net/news/ |
В вычислительной технике OProfile — это общесистемный статистический инструмент профилирования для Linux . Джон Левон написал его в 2001 году для ядра Linux версии 2.4 после своего проекта M.Sc .; [1] он состоит из модуля ядра , демона пользовательского пространства и нескольких инструментов пользовательского пространства.
OProfile может профилировать всю систему или ее части, от процедур прерываний или драйверов до процессов пользовательского пространства . Он имеет низкие накладные расходы.
Наиболее широко поддерживаемый режим ядра oprofile использует системный таймер (см.: Сбор событий профилирования ). Однако этот режим не может измерять функции ядра, где прерывания отключены. Более новые модели ЦП поддерживают режим счетчика производительности оборудования , который использует аппаратную логику для записи событий без необходимости в каком-либо активном коде. В Linux 2.2/2.4 поддерживаются только 32-разрядные x86 и IA64 ; в Linux 2.6 поддержка шире: x86 (32 и 64 бит), DEC Alpha , MIPS , ARM , sparc64 , ppc64 , AVR32 .
Графы вызовов поддерживаются только на платформах x86 и ARM.
В 2012 году два инженера IBM признали OProfile одним из двух наиболее часто используемых инструментов профилирования счетчиков производительности на Linux, наряду с perf tool . [2]
В 2021 году OProfile будет удален из версии 5.12 ядра Linux, при этом инструменты пользовательского пространства продолжат работать, используя систему производительности ядра. [3]
Пример:
$ opcontrol --start # Если возникнут какие-либо проблемы при запуске, например, --vm-linux, просто следуйте инструкциям. $ ./ ${ файл_примера }$ opcontrol --dump$ opreport -l ${ example_file } > ${ output_file } $ opcontrol --stop # останавливает сбор данных $ opcontrol --shutdown # останавливает демона $ opcontrol --reset # очищает данные профиля, которые были сохранены в указанном образце файла
Двумя наиболее часто используемыми инструментами для профилирования PCM на Linux являются
OProfile
и
perf
[...].