Профайлер perf и JVM (часть 1)
perf — это профайлер, встроенный в ядро Linux. Несмотря на обилие профайлеров в экосистеме JVM, perf обладает рядом уникальных возможностей, недоступных его конкурентам, заточенным под JVM.
Первой задачей мастер-класса будет просто научиться запускать perf и собирать данные с JVM-процесса. Это несложно, но есть нюансы.
Когда первая сессия профилирования закончена, самое время будет посмотреть на цифры и разобраться. Вы сравните результаты perf с Java Flight Recorder и сэмплированием дампов потоков. Это позволит лучше понять возможности и ограничения perf. Когда вы научитесь работать с perf на практике и поймете, как он работает, наступит время копнуть глубже.
«Сверхспособности» perf — это возможность работать с аппаратными счетчиками производительности (hardware performance counter). Это будет последним этапом мастер-класса.
Подготовка к воркшопу: для выполнения практической части понадобится компьютер с ОС Linux и root-доступом. Подойдет и виртуальная машина Linux в другой OS. Для работы вам понадобится perf, OpenJDK 17 и опционально Mission Control. Также потребуется git для подготовки.
Подробная инструкция по установке — здесь.
Спикеры
Приглашенные эксперты
Иван Землянский
Компания: PulsePoint