¿Cómo puedo obtener el uso total de CPU de una máquina Linux con 1 o n núcleos de CPU?

¿Cómo puedo obtener el uso total de CPU de una máquina Linux con 1 o n núcleos de CPU?

Actualmente estoy usando el siguiente método para extraer el valor inactivo del uso de la CPU del comando superior y restar el valor de 100. ¿Es este método correcto y existe una mejor manera de lograr lo mismo?

Además, mi máquina virtual Linux es una versión simplificada y solo tiene algunas herramientas básicas como top. Instalar otras herramientas no es una opción ya que también se elimina el administrador de paquetes.

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

Respuesta1

Sí, tu método está bien.

Pero podrías usarmpstatpara obtener más detalles.

Esta incluido enestado del sistemapaquete, y si no lo tienes instalado...

En CentOS/RHEL:

sudo yum install sysstat

En Ubuntu/Debian:

sudo apt-get install sysstat

Utilice el siguiente comando si no tiene ningún permiso para instalar un paquete

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

información relacionada