Cómo verificar y monitorear la utilización de la CPU en Linux

Cómo verificar y monitorear la utilización de la CPU en Linux

Como administrador de Linux, es importante vigilar cómo está funcionando su servidor (o servidores). Una forma de medir su rendimiento es rastrear el uso de la CPU. Esto le dará una idea del rendimiento del sistema y mostrará cómo los recursos de hardware se dividen en los diversos servicios en ejecución.

En esta guía, revisaremos algunos métodos para verificar y monitorear la utilización de la CPU en un sistema Linux. Ya sea que esté a cargo de un servidor o solo en su escritorio personal, el uso de la CPU de la computadora es una información útil que es fácil de adquirir.

En este tutorial aprenderás:

  • Cómo verificar el uso de la CPU con la parte superior
  • Comprender la salida de TOP y HTOP
  • Monitorear el uso de la CPU con el paquete SYSTAT
  • Cómo configurar la monitorización de la CPU alters
Cómo verificar y monitorear la utilización de la CPU en Linux

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Ubuntu, Debian, Centos, Rhel, Fedora
Software Servidor web de Apache
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Cómo verificar el uso de la CPU con la parte superior

Una excelente manera de verificar el uso actual de la CPU es con el arriba dominio. Gran parte del resultado de este comando es bastante complejo, pero proporciona información muy granular sobre cómo se está utilizando la CPU en un sistema.

$ top 

Esto abrirá una pantalla en el terminal que tiene una vista en vivo de los servicios que se ejecutan en el sistema, la cantidad de recursos del sistema que están utilizando cada uno de esos servicios, así como un resumen de la utilización de la CPU del sistema, entre otra información.

Verificar el uso actual de la CPU con arriba dominio. NOTA
El arriba El comando funciona principalmente en todas las distribuciones de Linux, aunque hay algunas variantes que pueden mostrar la información de manera un poco diferente, en un orden diferente, por ejemplo.

El programa superior instalado en los sistemas Ubuntu proviene del paquete PROCPS-NG, y es el que trabajaremos en este artículo. Para verificar qué variante está ejecutando su sistema, use el indicador -v con arriba:

$ top -v 

Rendimiento esperado:

procps-ng 3.3.12 


La ventana de visualización del comando superior no es muy fácil de usar al principio debido a la gran cantidad de información y toda la terminología y abreviaturas utilizadas. Cubriremos todo lo que necesita saber a continuación, para que pueda interpretar los datos de la parte superior.

La primera línea muestra (en orden): tiempo del sistema, tiempo de actividad del sistema (cuánto tiempo desde el último reinicio), número de sesiones de usuario activas y el promedio de carga del sistema. El promedio de carga es particularmente relevante para nosotros, ya que arroja algo de luz sobre el uso de CPU del sistema con el tiempo.

Promedio de carga

Hay tres números dados para el promedio de carga. Los números son la carga promedio de más de 1, 5 y 15 minutos, respectivamente. Piense en estos números como porcentajes: una carga de 0.2 significa 20%y una carga de 1.00 significa 100%.

Eso debería ser bastante fácil de entender, pero también puede ver promedios de carga superiores a 1.00. Esto se debe a que el promedio de carga no es una medición directa del uso de la CPU, sino cuánto "trabajo" (carga) su sistema está tratando de procesar. Por ejemplo, un valor de 2.50 significa que la carga actual es del 250%, y también indica que el sistema está sobrecargado por un enorme 150%.

La segunda línea de TOP se explica por sí misma y muestra el número de tareas que se ejecutan en el sistema, así como en el estado actual en el que se encuentran.

La tercera línea es donde encontramos nuestro uso de CPU, con algunas estadísticas detalladas que toman un poco de conocimiento para interpretar.

Uso de la CPU desde la parte superior
  • a nosotros: Porcentaje de tiempo de CPU dedicado a espacio de usuario (Ejecutando procesos deierds de usuarios).
  • sistema: Porcentaje del tiempo de CPU dedicado al espacio del núcleo (correr sistema procesos).
  • NI: Porcentaje de tiempo de CPU dedicado a ejecutar procesos con una prioridad definida por el usuario (una especificada lindo valor).
  • identificación: Porcentaje de tiempo de CPU dedicado inactivo.
  • Washington: Porcentaje de tiempo de CPU dedicado a espera En la E/S del hardware. Ejemplo: esperando un disco duro para terminar de leer datos.
  • Hola: Porcentaje de tiempo de CPU dedicado a procesar Interrupciones de hardware. Ejemplo: la tarjeta de red (o cualquier pieza de hardware) interrumpe la CPU para notificarle que han llegado nuevos datos.
  • si: Porcentaje de tiempo de CPU dedicado a procesar Interrupciones de software. Ejemplo: un servicio de alta prioridad que interrumpe la CPU.
  • calle: Porcentaje de tiempo de CPU que era robado de una máquina virtual. Ejemplo: la CPU necesitaba "robar" los recursos de una máquina virtual para procesar la carga de trabajo de la máquina física.

Las siguientes dos líneas están dedicadas a la información de la memoria y no son relevantes para monitorear el uso de la CPU. Debajo de eso, hay una lista de procesos de ejecución y una columna titulada %CPU, que contiene el uso actual de la CPU de cada proceso enumerado.

Porcentaje de uso de la CPU

Esto ofrece una vista rápida de qué servicios están masticando la mayoría de los recursos de la CPU. Puede dejar de arriba en cualquier momento presionando 'Q'.

Haciendo la mejor más simple

Dado que el comando superior muestra mucha información detallada, no es un método ideal para echar un vistazo rápido a la utilización de la CPU; sin embargo, arriba nos ofrece algunas opciones para optimizar la salida y evitar algunos de los detalles complejos.

Mientras arriba se está ejecutando, puede presionar la tecla 't' para recorrer algunas vistas diferentes y obtener una salida más simple del uso de la CPU:

Gráfico de uso de CPU

Otra opción es usar htop, que es similar a arriba pero se dirigió más hacia tareas normales. Puede usar su administrador de paquetes para instalarlo.

Ubuntu y Debian:

$ sudo apt-get install htop 

CentOS y sombrero rojo:

# yum instalar htop 

Fedora:

# DNF Instalar htop 

Después de que esté instalado, solo escriba htop Para abrirlo.

$ htop 
comando htop

Como puede ver en la captura de pantalla anterior, la salida de htop es más conciso y más adecuado que arriba Para una simple medición del uso de la CPU.

Puede salir de esta pantalla de la misma manera que la parte superior presionando 'Q'.



Más formas de verificar la utilización de la CPU

Hay algunas herramientas más que podemos usar para verificar el uso de la CPU, y están contenidos en el paquete SysStat. Tendrá que instalar este paquete para usar los comandos.

Ubuntu y Debian:

$ sudo apt-get install sysstat 

CentOS y sombrero rojo:

# yum instalación sysstat 

Una vez que se instale el paquete SysStat, tendrá acceso a la mpstat dominio. Esto muestra mucha de la misma información que arriba, Pero en una salida concisa y única.

usuario@ubuntu1: ~ $ mpstat Linux 5.0.0-23-Generic (Ubuntu1) 16/01/2020 _X86_64_ (1 CPU) 02:31:05 AM CPU %USR %NICE %SYS %IOWAIT %IRQ %SOFT %STAAL %Guest %Gnice %Idle 02:31:05 Son todos 1.41 0.05 0.40 0.04 0.00 0.00 0.00 0.00 0.00 98.09 

Otro comando que viene con este paquete es sar. Es más útil cuando se combina con un número en el comando. Esto le permite especificar con qué frecuencia (en segundos) el sar El comando debe obtener información sobre la utilización de la CPU.

Por ejemplo, para verificar el uso de la CPU cada 4 segundos:

$ SAR 4 

La salida se verá así y emitirá una nueva línea cada 4 segundos:

usuario@ubuntu1: ~ $ sar 4 Linux 5.0.0-23-Generic (Ubuntu1) 16/01/2020 _X86_64_ (1 CPU) 02:33:24 AM CPU %USER %NICE %Sistema %IOWAIT %STAAL %Idle 02:33:25 AM 9 9.09 0.00 0.00 0.00 0.00 90.91 

Para hacer sar Detener después de un cierto número de salidas, especifique un segundo número. Por ejemplo:

$ sar 2 5 

Esto hará sar Verifique el uso de la CPU cada 2 segundos, 5 veces. También mostrará el promedio de las 5 sondas al final de la salida.

Monitoreo gráfico

Si está utilizando un cliente de escritorio o tiene una GUI instalada, debe haber una herramienta gráfica para monitorear el uso del sistema. Ubuntu usa GNOME de forma predeterminada como su entorno de escritorio, y el comando para iniciar el administrador del sistema es:

$ gnome-system-monitor 

Esto abrirá una ventana similar al Administrador de tareas de Window, donde puede ordenar procesos mediante su uso de CPU. Otras distribuciones y entornos de escritorio deben tener una herramienta similar.

Monitoreo gráfico con Gnome System Monitor en Ubuntu 20.04 escritorio

Cómo configurar alertas de monitoreo

Hay muchas formas diferentes de codificar un script que monitorea el uso de la CPU. En esta parte de la guía, revisaremos un script posible donde el uso de la CPU se monitorea cada minuto, y lo configuraremos para enviar un correo electrónico cuando el uso de la CPU se drogue.

#!/bin/bash cpu = $ (sar 1 5 | grep "promedio" | sed 's/^.* // ') cpu = $ (printf "%.0f "$ cpu) if [" $ cpu "-lt 20] entonces echo" el uso de la CPU es alto!"| sendmail [email protected] fi
Copiar

Este script usa SED para obtener el porcentaje de inactividad promedio de la CPU de sar. Luego, utiliza una función IF para verificar si el porcentaje de inactividad está por debajo de un determinado número, y enviará un correo electrónico al administrador si es. En este caso, está configurado para el 20%; en otras palabras, si el uso de la CPU está más allá del 80%, el administrador recibe un correo electrónico.

El script se puede ajustar según sea necesario, como si desea que haga eco de una advertencia a la terminal o registre a un archivo de registro en lugar de enviar un correo electrónico con enviar correo.

Por supuesto, necesitaría llamar a este script desde Cron si desea que se ejecute de manera rutinaria.

$ crontab -e 

Para ejecutarlo cada minuto, escribirías esta línea:

* * * * * */ruta/a/cpu-alert.mierda 

Conclusión

En este artículo, vimos cómo verificar y monitorear la utilización de la CPU en un sistema Linux. Aprendimos sobre múltiples herramientas que pueden ayudarnos con el monitoreo, y también aprendimos a configurar alertas de uso para que podamos ser notificados cuando la utilización de la CPU sea alta.

Usando los diversos métodos de esta guía, siempre conocerá la mejor herramienta para mantener las pestañas en el uso de su sistema, ya sea que necesite información detallada o simplemente necesite ver cómo su sistema está asignando su CPU.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Descarga de Linux
  • Cosas para instalar en Ubuntu 22.04
  • Cómo hacer estresar probar su CPU en Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Optimización de rendimiento de Linux: herramientas y técnicas
  • Cómo arrancar dual Kali Linux y Windows 10