CPUSTAT - Monitorea la utilización de la CPU mediante la ejecución de procesos en Linux

CPUSTAT - Monitorea la utilización de la CPU mediante la ejecución de procesos en Linux

Cpustat es un poderoso programa de medida de rendimiento del sistema para Linux, escrito utilizando el lenguaje de programación GO. Intenta revelar la utilización y saturación de la CPU de manera efectiva, utilizando el método de saturación y errores de utilización (uso) (una metodología para analizar el rendimiento de cualquier sistema).

Extrae muestras de mayor frecuencia de cada proceso que se ejecuta en el sistema y luego resume estas muestras a una frecuencia más baja. Por ejemplo, puede medir cada proceso cada 200 ms y resume estas muestras cada 5 segundos, incluidos valores min/promedio/max para ciertas métricas.

Leer sugerido: 20 Herramientas de línea de comando para monitorear el rendimiento de Linux

Cpustat emite datos de dos maneras posibles: una lista de texto puro del intervalo de resumen y un tablero de desplazamiento colorido de cada muestra.

Cómo instalar CPustat en Linux

Debes tener GO (Golang) instalado en su sistema Linux para usar cpustat, Haga clic en el enlace a continuación para seguir los pasos de instalación de Golang, eso es si no lo tiene instalado:

  1. Instalar Golang (INIGLICIO DE PROGRAMACIÓN DE IR) en Linux

Una vez que haya instalado Ir, Escribe el ir a buscar Comando a continuación para instalarlo, este comando instalará el cpustat binario en tu Gobernador variable:

# Ve a buscar Github.com/súper-common/cpustat 

Cómo usar CPustat en Linux

Cuando se complete el proceso de instalación, ejecute cpustat de la siguiente manera con los privilegios raíz utilizando el comando sudo que es si controla el sistema como un usuario no raíz, de lo contrario obtendrá el error como se muestra:

ps $ Gobin/Cpustat Este programa utiliza la interfaz NetLink TaskStats, por lo que debe ejecutarse como root. 

Nota: Correr cpustat Además de todos los otros programas de GO que ha instalado en su sistema como cualquier otro comando, incluya Gobernador variable en tu CAMINO Variable ambiental. Abra el enlace a continuación para aprender a establecer la variable de ruta en Linux.

  1. Aprenda a establecer sus variables de ruta $ permanentemente en Linux

Así es como cpustat obras; el /Proc Se consulta el directorio para obtener la lista actual de ID de proceso para cada intervalo y:

  • Para cada pid, lea /proc/pid/stat, luego calcule la diferencia de la muestra anterior.
  • En caso de que sea un nuevo PID, lea /proc/pid/cmdline.
  • Para cada PID, envíe un mensaje de NetLink para obtener los Taskstats, calcule la diferencia de la muestra anterior.
  • buscar /proc/stat Para obtener las estadísticas generales del sistema.

Una vez más, cada intervalo de sueño se ajusta para tener en cuenta la cantidad de tiempo consumida para obtener todas estas estadísticas. Además, cada muestra también registra el tiempo que llevó escalar cada medición por el tiempo transcurrido real entre muestras. Esto intenta dar cuenta de los retrasos en el propio CPUSTAT.

Cuando se ejecuta sin ningún argumento, cpustat Mostrará lo siguiente de forma predeterminada: Intervalo de muestreo: 200 ms, intervalo de resumen: 2s (10 muestras), que muestra los 10 superiores, filtro de usuario: todos, filtro PID: todo como se muestra en la captura de pantalla a continuación:

$ sudo $ gobin/cpustat 
CPUSTAT - Uso de la CPU de monitor de Linux

De la salida anterior, los siguientes son los significados de las métricas de resumen de todo el sistema que se muestran antes de los campos:

  • USR - tiempo de ejecución del modo de usuario min/avg/max como porcentaje de una CPU.
  • sys - tiempo de ejecución del modo de sistema min/avg/max como porcentaje de una CPU.
  • lindo - Men/AVG/Modo Modo de usuario Tiempo de ejecución de baja prioridad como porcentaje de una CPU.
  • inactivo - tiempo de ejecución del modo de usuario min/avg/max como porcentaje de una CPU.
  • Iowait - Min/avg/máximo tiempo de retraso esperando el disco IO.
  • servir - Min/avg/max recuento de procesos en un estado ejecutable (igual que el promedio de carga).
  • pblock - Min/avg/máximo de procesos bloqueados en el disco IO.
  • pártte - Número de procesos/hilos iniciados en este intervalo de resumen.

Aún desde la salida anterior, para un proceso dado, las diferentes columnas significan:

  • nombre - Nombre del proceso común de/proc/pid/stat o/proc/pid/cmdline.
  • pid - ID de proceso, también denominado "TGID".
  • mínimo - Muestra más baja de usuario+tiempo del sistema para el PID, medido desde/proc/pid/stat. La escala es un porcentaje de una CPU.
  • máximo - Muestra más alta de usuario+tiempo del sistema para este PID, también medido de/proc/pid/stat.
  • USR - Tiempo promedio de usuario para el PID durante el período de resumen, medido desde/proc/PID/stat.
  • sys - Tiempo promedio del sistema para el PID durante el período de resumen, medido desde/proc/PID/stat.
  • lindo - Indica el valor actual "agradable" para el proceso, medido desde/proc/pid/stat. Más alto significa "más agradable".
  • corredero - Tiempo del proceso y todos sus hilos gastados ejecutables pero esperando a ejecutar, medidos desde tareas a través de NetLink. La escala es un porcentaje de una CPU.
  • choque - Tiempo del proceso y todos sus hilos gastados bloqueados por el disco IO, medido desde Taskstats a través de NetLink. La escala es un porcentaje de una CPU, promediado durante el intervalo de resumen.
  • intercambio - tiempo en el proceso y todos sus hilos pasados ​​esperando ser intercambiados, medidos desde tareas a través de netlink. La escala es un porcentaje de una CPU, promediado durante el intervalo de resumen.
  • VCX e ICX - Número total de interruptores de contexto voluntario por el proceso y todos sus hilos durante el intervalo de resumen, medido desde TaskStats a través de NetLink.
  • RSS - Valor RSS actual obtenido de/proc/pid/stat. Es la cantidad de memoria que este proceso está utilizando.
  • ctime - Suma del usuario+CPU SYS Tiempo consumido por los niños esperados que salieron durante este intervalo de resumen, medido de/proc/pid/stat.

Tenga en cuenta que los procesos infantiles de larga duración a menudo pueden confundir esta medición, porque el tiempo se informa solo cuando el proceso infantil sale. Sin embargo, esto es útil para medir el impacto de los trabajos frecuentes de Cron y las verificaciones de salud donde los procesos infantiles a menudo consumen el tiempo de la CPU.

  • THRD - Número de hilos al final del intervalo de resumen, medido desde/proc/pid/stat.
  • Sam - Número de muestras para este proceso incluidos en el intervalo de resumen. Los procesos que han comenzado o salido recientemente pueden haber sido visibles para menos muestras que el intervalo de resumen.

El siguiente comando muestra los 10 mejores procesos de usuario raíz que se ejecutan en el sistema:

$ sudo $ gobin/cpustat -u root 
Encuentre procesos de ejecución de usuarios raíz

Para mostrar la salida en un modo terminal elegante, use el -T Bandera de la siguiente manera:

$ sudo $ gobin/cpustat -u roo -t 
Ejecución del uso del proceso del usuario raíz

Para ver el número X superior de procesos (el valor predeterminado es 10), puede usar el -norte Bandera, el siguiente comando muestra los 20 procesos principales de Linux que se ejecutan en el sistema:

$ sudo $ gobin/cpustat -n 20 

También puede escribir perfil de CPU en un archivo utilizando el -cpuprofile opción de la siguiente manera y luego use el comando CAT para ver el archivo:

$ sudo $ gobin/cpustat -cpuprofile cpuprof.txt $ cat cpuprof.TXT 

Para mostrar información de ayuda, use el -H Bandera de la siguiente manera:

$ sudo $ gobin/cpustat -h 

Encuentre información adicional del repositorio de Cpustat GitHub: https: // github.com/súper-common/cpustat

Eso es todo! En este artículo, le mostramos cómo instalar y usar CPUSTAT, una herramienta útil de medida de rendimiento del sistema para Linux. Comparta sus pensamientos con nosotros a través de la sección de comentarios a continuación.