Профилирование вывода JIT на Linux с perf_events/oprofile?
Я хочу профилировать код, сгенерированный JIT в Linux, с использованием аппаратных счетчиков производительности. Как я знаю, самые распространенные профилировщики oprofile
а также perf
,
Как я могу интегрировать JIT и oprofile/perf?
Мой JIT- это не JAVA, который уже поддерживается в oprofile. (Перфорация?)
Например, мы можем рассмотреть JIT LLVM. я бы хотел
- Смотрите самые горячие функции (их названия) из кода JIT-Ted
- Смотрите разбор самой горячей функции со статистикой счетчика производительности, назначенной для каждой инструкции
1 ответ
Для профилирования JIT-кода с помощью perf загрузите, скомпилируйте и установите библиотеку perf-map-agent, а затем (в любом случае для кода Java) добавьте -agentpath:<path>/libperfmap.so
в командной строке.
Для не Java-кода, пока /tmp/perf-$pid.map
Файлы символьных карт сгенерированы, и они будут использоваться при создании отчетов.
У Брендана Грегга есть запись в блоге, в которой есть ссылки.