Загрузка процессора в режиме пакетной обработки
У меня есть проблема, которая сводит меня с ума. Я запускаю 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}'