OПрофиль

Инструмент статистического профилирования для Linux
Оригинальный автор(ы)Джон Левон
Первоначальный выпуск2001
Стабильный релиз
1.4.0 / 20 июля 2020 г. ; 4 года назад ( 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 используется для запуска и остановки демона, который собирает данные профилирования. Эти данные периодически сохраняются в каталоге /var/lib/oprofile/samples .
  • opreport показывает основные данные профилирования. opannotate может создавать аннотированные источники или сборки .
  • opgprof преобразует данные oprofile в формат, совместимый с gprof . [4]

Пример:

$ opcontrol  --start # Если возникнут какие-либо проблемы при запуске, например, --vm-linux, просто следуйте инструкциям. $ ./ ${ файл_примера }$ opcontrol  --dump$ opreport  -l ${ example_file } > ${ output_file }   $ opcontrol  --stop # останавливает сбор данных $ opcontrol  --shutdown # останавливает демона $ opcontrol  --reset # очищает данные профиля, которые были сохранены в указанном образце файла 

Смотрите также

Ссылки

  1. Интервью: Джон Левон. Архивировано 13 мая 2012 г. на Wayback Machine , 11 ноября 2001 г. // KernelTrap: «Джон Левон, автор OProfile»
  2. ^ Нетто, Адемервал Занелла; Арнольд, Райан С. (2012-06-12). "Оценка производительности Linux на POWER: Анализ производительности с помощью инструментов Linux". developerWorks . Техническая библиотека IBM DeveloperWorks. IBM . Получено 2014-10-21 . Двумя наиболее часто используемыми инструментами для профилирования PCM на Linux являются OProfile и perf [...].
  3. ^ «Код ядра OProfile планируется удалить в Linux 5.12 — Phoronix».
  4. ^ "4. Обзор инструментов". oprofile.sourceforge.io .
  • Официальный сайт
  • В. Коэн, Настройка программ с помощью OProfile // Wide Open Magazine, 2004, стр. 53–62
  • Прасанна Панчамукхи, Ударная производительность с OProfile. Выявление узких мест производительности в реальных системах // IBM DeveloperWorks, Техническая библиотека, 16 октября 2003 г.
  • Джастин Тиль, Обзор инструментов и методов анализа производительности программного обеспечения: от GProf до DTrace, (2006) «2.2.2 Обзор Oprofile»
Взято с "https://en.wikipedia.org/w/index.php?title=OProfile&oldid=1056426776"