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


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

top -b -n 1

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

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

2 10

2 ответа:

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

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

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

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