MPSTAT показывает среднее использование процессора только во время выполнения приложения - PullRequest
1 голос
/ 10 ноября 2009

Я хочу знать, сколько мое приложение использует процессорного времени каждого ядра при выполнении, а также сколько времени требуется для завершения программы. для последнего я использую команду linux "time". для первого я думаю, что я должен использовать что-то вроде «mpstat». однако я хочу, чтобы mpstat генерировал некоторые журналы только во время выполнения моего приложения, и я не знаю, возможно ли это сделать. Может ли кто-нибудь помочь мне в этом?

1 Ответ

3 голосов
/ 03 декабря 2009

Я бы написал скрипт-обертку для запуска вашего приложения, который позаботился бы о запуске и остановке mpstat для вас - непосредственно перед запуском вашего приложения, и убил его сразу после его выхода.

В этом быстром примере мы запускаем mpstat, основанный на его stdout / err, перенаправленном в файл журнала. Затем мы запускаем любое ваше приложение (независимо от того, что вы передаете в командной строке после имени файла журнала), используя стандартное время команда .. наконец мы убиваем фоновый mpstat, как только приложение вернется / выйдет. Вы, конечно, можете запустить mpstat, используя любые параметры командной строки, которые вам нравятся ... здесь мы просто запускаем его с периодом в 1 секунду для отчетов и без конечных условий.

$ cat test.sh
mpstat 1 2>&1 > $1 &
pid=$!
shift
time $*
kill $pid

$ ./test.sh logfile.log sleep 5

real    0m5.005s
user    0m0.004s
sys     0m0.000s

$ cat logfile.log
Linux 2.6.31-15-generic-pae (-desktop)  12/03/2009      _i686_  (4 CPU)

12:55:58 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
12:55:59 PM  all    1.25    0.00    1.75    0.00    0.00    0.00    0.00    0.00   96.99
12:56:00 PM  all    0.25    0.00    0.25    0.00    0.00    0.00    0.00    0.00   99.51
12:56:01 PM  all    0.50    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.50
12:56:02 PM  all    0.00    0.00    0.50    0.00    0.00    0.00    0.00    0.00   99.50
12:56:03 PM  all    0.49    0.00    0.49    0.00    0.00    0.00    0.00    0.00   99.02
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...