Sabemos que topes un comando para obtener el uso de la CPU en Linux y otras formas incluyen
cat /proc/statcuál es utilizado por top.
¿Cuáles son otros métodos para obtener el uso de la CPU en la línea de comandos de Linux?
Escenario de caso de uso: la salida de este comando será utilizada por un script para registrar el uso de la CPU continuamente. topy /proc/statdar un uso detallado que es difícil de registrar. ¿Hay alguna manera más fácil de obtener la información de la CPU?
linux
command-line
fasil
fuente
fuente

sedel resultado si solo desea el valor.topy el otro da un comando muy útil. No es un uso de X, ¿qué hay de ti? pregunta, pero una pregunta ¿Cómo hago X ? Votación para reabrir.Respuestas:
Como otros han dicho, la mejor manera es probablemente
top. Necesita un pequeño ajuste y un poco de análisis, pero puede obtenerlo para darle el uso actual de la CPU como porcentaje.topdivide el uso de la CPU entre el usuario, los procesos del sistema y losniceprocesos, queremos la suma de los tres. Por lo tanto, podemos ejecutartopenbmodo atch que nos permite analizar su salida. Sin embargo, como se explica aquí , la primera iteración detop -bdevuelve los porcentajes desde el arranque, por lo tanto, necesitamos al menos dos iteraciones (-n 2) para obtener el porcentaje actual. Para acelerar las cosas, puede configurar eldelay entre iteraciones en0.01. Finalmente, ustedgrepusa la línea que contiene los porcentajes de CPU y luego la usagawkpara sumar usuarios, sistemas y procesos agradables:Pensé que también podría obtener esta información
ps -o pcpu axagregando el% de uso de cada proceso en ejecución. Desafortunadamente, como se explica aquí ,ps"devuelve el porcentaje de tiempo dedicado a la ejecución durante toda la vida útil de un proceso", que no es lo que necesita.EDITAR
Según su comentario, su versión de
topes diferente a la mía y debería usar esto en su lugar:Y, para evitar problemas con la localización, configure la configuración regional en C:
fuente
sarEs la forma definitiva de hacerlo. Entonces, por ejemplo,sar -ugenerará algo como esto:No dice qué Linux usa, pero para CentOS / RedHat necesita instalar el
sysstatpaquete, y creo que es lo mismo en Debian / Ubuntu.También puede usar sar para recopilar estadísticas ad hoc :
Reunirá estadísticas cada 60 segundos 600 veces, por lo que 600 minutos.
fuente