Загрузка процессора в режиме пакетной обработки - PullRequest
11 голосов
/ 01 декабря 2010

У меня есть проблема, которая сводит меня с ума.Я запускаю top в пакетном режиме с помощью следующей команды:

top -b -n 1

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

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

Ответы [ 2 ]

7 голосов
/ 03 декабря 2010

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

(Обратите внимание, что это больше не относится к более новым версиям top).

3 голосов
/ 23 июля 2015

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

top -b -d 5 -n 2 | awk '$1 == "PID" {block_num++; next} block_num == 2 {sum += $9;} END {print sum}'
...