Linux kernel space application profiling

Для того чтобы узнать природу загрузки приложения которую выводит htop можно воспользоваться утилитой perf входящей в состав ядра

Соберем инструмент отладки:

$ cd linux-source/tools/perfl
$ make

Теперь запустим интересующее нас приложение и запустим профайлер(на 10 секунд):

$ sudo ./perf record -F 99 -a -g -- sleep 10

Далее можно посмотреть результат при помощи утилиты perf report. Если в утитите perf record не увазывать опцию -o то отчет по умолчанию будет сохранен в perf.data:

sudo ./perf report -i ./perf.data

будет получен подобный отчет

perf report -i ./perf.data

perf report -i ./perf.data

ещё можно воспользовавшись специальными скриптами построить так называемы flame graph. качаем скрипты:

$ git clone https://github.com/brendangregg/FlameGraph ~/fg

Конвертируем наш отчет в текстовый вид и пропускаем чере flame graph:

sudo ./perf script > perf.script
~/fg/stackcollapse-perf.pl perf.script > perf.folded
~/FlameGraph/flamegraph.pl perf.folded > perf.svg

результат:
Снимок экрана от 2015-10-27 16:16:59

Ссылки

Linux kernel profiling with perf
Flame Graphs
lperf Examples

Теги: , ,

Дата: 27 октября 2015

Автор: andreykyz

Комментарии: 0

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>