Я использую модифицированный пакет auditd
и связал с ним gprof.
Но из вывода gprof XX | gprof2dot | dot -Tpng output.png
все функции используются на 100%, поэтому я не могу сказать, кто потребляет большую часть ресурсов ЦП.
(Щелкните правой кнопкой мыши по изображению, чтобы открыть его полностью)
Любые идеи? Это нормально, и самое главное, как я должен знать, какая функция потребляет больше всего ресурсов процессора?
PS: исходный вывод gprof http://pastie.org/8546568
gprof
(безgprof2dot
)? - person Joe Z   schedule 12.12.2013time
, сколькоuser
времени она использует? Если он проводит большую часть своего времени в системных вызовах, сетевом вводе-выводе или дисковом вводе-выводе, он может не собирать никаких выборок. - person Joe Z   schedule 12.12.2013SIGINT
, есть ли обработчикSIGINT
, который завершает программу упорядоченным образом, или он завершает работу без сброса файлов? Возможно, инструментарийgprof
не сбросил собранную статистику. - person Joe Z   schedule 12.12.2013SIGINT
. Есть ли способ настроитьauditd
так, чтобы он выходил сам по себе через 30 секунд, а не отправлятьSIGINT
? - person Joe Z   schedule 12.12.2013gprof
(и эти графики крысиных гнезд). Во-первых, вы задаете неправильный вопрос. Не спрашивайте, какая функция потребляет больше всего ЦП?, что двусмысленно и не имеет значения. Спросите Почему тратится время? Пока вы выполняете SIGINT, используйтеgdb
и эту технику. Если у вас есть проблемы с производительностью, вы точно увидите, что это такое. - person Mike Dunlavey   schedule 12.12.2013auditd
выйти черезexit()
или вернуться изmain()
, не используя сигнал? - person Joe Z   schedule 15.12.2013