Глава 41. OProfile

OProfile — это средство мониторинга производительности системы, оказывающее минимальное влияние на её работу. Эта программа использует встроенные в процессор аппаратные возможности мониторинга производительности и собирает сведения о ядре и исполняемых модулях, в частности, статистику использования памяти, число обращений к кэшу второго уровня и полученных аппаратных прерываний. Чтобы использовать это средство в Red Hat Enterprise Linux, вы должны установить RPM-пакет oprofile.

Многие процессоры обладают специальными аппаратными возможности для мониторинга производительности. Они позволяют отслеживать определённые события (например, отсутствие запрашиваемых данных в кэше). Эти аппаратные средства обычно представлены в виде одного или нескольких счётчиков, увеличивающихся, когда происходит определённое событие. Когда значение счётчика доходит до предела, вызывается прерывание, что позволяет управлять детализацией мониторинга производительности (и связанными накладными расходами) .

OProfile использует эти аппаратные средства (или их замену с использованием таймера, где они отсутствуют) для проведения выборки данных производительности в момент, когда счётчик вызывает прерывание. Выбранные данные периодически записываются на диск, а затем они могут использоватся для формирования отчётов о производительности на уровне системы или приложений.

OProfile — полезное средство, но используя его, вы должны знать о некоторых ограничениях:

41.1. Обзор инструментов

В таблице 41-1 представлен краткий обзор средств, включённых в пакет oprofile.

КомандаОписание
op_help

Выводит список имеющихся событий процессора, а также краткое описание каждого.

op_import

Преобразует файлы базы данных с выборками в формат данной системы из другого двоичного формата. Используйте эту возможность для анализа базы данных с выборками, созданной на другой платформе.

opannotateВыдаёт прокомментированный исходный код приложения, если оно было скомпилировано с отладочными символами. За подробностями обратитесь к разделу 41.5.3 Использование opannotate.
opcontrol

Определяет множество собираемых данных. За подробностями обратитесь к разделу 41.2 Настройка OProfile.

opreport

Выдаёт отчёт по собранным данным. За подробностями обратитесь к разделу 41.5.1 Использование opreport.

oprofiled

Запускается в виде демона и периодически записывает выборки данных на диск.

Таблица 41-1. Команды OProfile