2010-12-01 2 views
9

У меня проблема, из-за которой я с ума сошел. Я бегу сверху в пакетном режиме с помощью следующей команды,Использование ЦП в верхнем пакетном режиме

top -b -n 1

Проблема в том, что я могу запустить сверху в пакетном режиме в 100 раз, но загрузка процессора не меняется мимо исходного значения. Использование памяти изменяется, как ожидалось, но процессор остается прежним. Если я одновременно запускаю другую вершину в другом окне, использование ЦП изменяется для этого верхнего, но не для верхнего в пакетном режиме.

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

+0

Хорошо работает здесь, иначе вы можете использовать `ps` или, возможно,` sar | tail -1` – Anders 2010-12-01 14:57:20

+0

Я вижу такое же поведение. Командная команда не должна работать достаточно долго, чтобы получить хорошие аккумуляторы для использования ЦП или что-то еще. – aschepler 2010-12-01 15:34:50

ответ

6

На первой итерации он показывает вам среднее использование ЦП с момента запуска системы.

(Обратите внимание, что это относится к более поздним версиям top).

2

Вот один вкладыш, который отображает кумулятивное использование ЦП в течение более длительного периода времени, 5 секунд в этом случае. Вы можете настроить его с помощью флага -d.

top -b -d 5 -n 2 | awk '$1 == "PID" {block_num++; next} block_num == 2 {sum += $9;} END {print sum}' 
Смежные вопросы