
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
будет получен подобный отчет
ещё можно воспользовавшись специальными скриптами построить так называемы 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
Ссылки
Linux kernel profiling with perf
Flame Graphs
lperf Examples