Получение информации об использовании процессора - PullRequest
3 голосов
/ 01 июня 2011

Как я могу получить загрузку процессора с информацией о времени процесса в Linux? По сути, я хочу, чтобы мое приложение работало быстро. В то же время я хотел бы отслеживать загрузку процессора в течение периода работы приложения.

Я попробовал топ | grep appName> & log, похоже, мне ничего не возвращается в журнале. Может ли кто-нибудь помочь мне с этим?

Спасибо.

Ответы [ 5 ]

2 голосов
/ 01 июня 2011

vmstat и iostat могут давать вам периодическую информацию такого рода;Я бы предложил либо установить количество раз вручную, либо поместить один опрос в задание cron, а затем перенаправить вывод в файл:

vmstat 20 4230 >> cpu_log_file

Это даст вам снимок использования каждые 20секунд на 24 часа.

1 голос
/ 01 июня 2011

установите пакет sysstat и запустите sar

nohup sar -o output.file 12 8 >/dev/null 2>&1 &
0 голосов
/ 01 июня 2011

Вы можете контролировать время, используемое вашей программой, с помощью top во время ее работы.

В качестве альтернативы, вы можете запустить ваше приложение с помощью команды time, которая напечатает общее количество процессорного времени, использованного вашей программой в конце ее выполнения. Просто наберите time ./my_app вместо ./my_app

Для получения дополнительной информации, man 1 time

0 голосов
/ 01 июня 2011

Напишите программу, которая вызывает ваш процесс, а затем вызывает getrusage (2) и сообщает статистику для его дочерних элементов.

0 голосов
/ 01 июня 2011

используйте команду top или watch

PID    COMMAND      %CPU TIME     #TH  #WQ  #PORT #MREG RPRVT  RSHRD  RSIZE  VPRVT  VSIZE  PGRP  PPID  STATE    UID  FAULTS    COW    MSGSENT    MSGRECV    SYSBSD    SYSMACH   CSW       PAGEINS USER
10764  top          8.4  00:01.04 1/1  0    24    33    2000K  244K   2576K  17M    2378M      10764 10719 running  0    9908+     54     564790+    282365+    3381+     283412+   838+          27      root
10763  taskgated    0.0  00:00.00 2    0    25    27    432K   244K   1004K  27M    2387M  10763 1     sleeping 0    376       60     140        60         160       109       11        0       root
...