В настоящее время я использую приведенный ниже метод для извлечения значения использования ЦП в режиме ожидания из команды 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 "%"}'