Como posso obter o uso total da CPU de uma máquina Linux com 1 ou n núcleos de CPU?

Como posso obter o uso total da CPU de uma máquina Linux com 1 ou n núcleos de CPU?

Atualmente, estou usando o método abaixo para extrair o valor ocioso de uso da CPU do comando superior e subtrair o valor de 100. Este método está correto e existe uma maneira melhor de conseguir o mesmo.

Além disso, minha VM Linux é uma versão simplificada e possui apenas algumas ferramentas básicas, como top. Instalar outras ferramentas não é uma opção, pois o gerenciador de pacotes também foi removido.

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

Responder1

Sim, seu método está certo.

Mas você poderia usarmpstatpara obter mais detalhes.

Está incluído emsysstatpacote, e se você não o tiver instalado ...

No CentOS/RHEL:

sudo yum install sysstat

No Ubuntu/Debian:

sudo apt-get install sysstat

Use o comando abaixo se você não tiver permissão para instalar um pacote

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

informação relacionada