Загрузка процессора в режиме пакетной обработки

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

top -b -n 1

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

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

2 ответа

Решение

На первой итерации он показывает среднюю загрузку процессора с момента запуска системы.

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

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

top -b -d 5 -n 2 | awk '$1 == "PID" {block_num++; next} block_num == 2 {sum += $9;} END {print sum}'
Другие вопросы по тегам