Как узнать общую загрузку ЦП на компьютере Linux с 1 или n ядрами ЦП?

Как узнать общую загрузку ЦП на компьютере Linux с 1 или n ядрами ЦП?

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

Кроме того, моя Linux VM — это урезанная версия, в которой есть только несколько базовых инструментов, таких как top. Установка других инструментов невозможна, так как менеджер пакетов также удален.

CPU_IDLE="$(top -bn2 | grep -F '%Cpu' | tail -n 4 | gawk '{print $8 $9}' | tr -s '\n\:\,[:alpha:]' ' '| gawk '{print $2}'),"

решение1

Да, ваш метод хорош.

Но вы могли бы использоватьmpstatчтобы получить более подробную информацию.

Он включен вsysstatпакет, и если он у вас не установлен...

В CentOS/RHEL:

sudo yum install sysstat

В Ubuntu/Debian:

sudo apt-get install sysstat

Используйте следующую команду, если у вас нет разрешения на установку пакета

grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

Связанный контент