OПрофиль
Оригинальный автор(ы) | Джон Левон |
---|---|
Первоначальный выпуск | 2001 |
Стабильная версия | 1.4.0
/ 20 июля 2020 г |
Написано в | С |
Операционная система | Линукс |
Платформа | Кросс-платформенный |
Тип | Профилировщик |
Лицензия | лицензия GPL |
Веб-сайт | опрофиль |
В вычислений области OProfile — это общесистемный инструмент статистического профилирования для Linux . Джон Левон написал его в 2001 году для ядра Linux версии 2.4 после получения степени магистра наук. проект; [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 . [2]
В 2021 году OProfile будет удален из версии 5.12 ядра Linux, при этом инструменты пользовательского пространства продолжат работать с использованием системы perf ядра. [3]
Инструменты пользовательского пространства
[ редактировать ]- opcontrol используется для запуска и остановки демона, который собирает данные профилирования. Эти данные периодически сохраняются в /var/lib/oprofile/samples . Каталог
- opreport показывает основные данные профилирования. opannotate может создавать аннотированные исходные коды или сборки .
- opgprof преобразует данные oprofile в формат, совместимый с gprof . [4]
Пример:
$ opcontrol --start # If there are any issues in starting like --vm-linux just follow the instructions
$ ./${example_file}
$ opcontrol --dump
$ opreport -l ${example_file} > ${output_file}
$ opcontrol --stop # stops collecting the data
$ opcontrol --shutdown # stops the demon
$ opcontrol --reset # clears the profile data which was stored in the sample file given
См. также
[ редактировать ]Ссылки
[ редактировать ]- ↑ Интервью: Джон Левон. Архивировано 13 мая 2012 г. в Wayback Machine , 11 ноября 2001 г. // KernelTrap: «Джон Левон, автор OProfile».
- ^
Нетто, Адхемерваль Занелла; Арнольд, Райан С. (12 июня 2012 г.). «Оценка производительности Linux на POWER: анализ производительности с помощью инструментов Linux» . РазработчикWorks . Техническая библиотека IBM DeveloperWorks. ИБМ . Проверено 21 октября 2014 г.
Два наиболее часто используемых инструмента для профилирования PCM в Linux: OПрофиль и перф [...].
- ^ «Код ядра OProfile, который планируется удалить из Linux 5.12 — Phoronix» .
- ^ «4. Обзор инструментов» . oprofile.sourceforge.io .
Внешние ссылки
[ редактировать ]- Официальный сайт
- В. Коэн, Настройка программ с помощью OProfile // Wide Open Magazine, 2004, стр. 53–62.
- Прасанна Панчамукхи, потрясающее выступление с OProfile. Выявление узких мест производительности в реальных системах // IBM DeveloperWorks, Техническая библиотека, 16 октября 2003 г.
- Джастин Тиль, Обзор инструментов и методов анализа производительности программного обеспечения: от GProf до DTrace , (2006) «2.2.2 Обзор Oprofile»