Verifique el estado y la disponibilidad de sus servidores Linux para obtener un rendimiento óptimo con la herramienta de monitoreo de Linux de Site24x7.
Ya sea que una aplicación se esté ejecutando en un servidor o un equipo local, monitorear el uso de la CPU y la carga de la CPU es esencial para optimizar el rendimiento. Si bien el uso y la carga de la CPU pueden sonar similares, en realidad son bastante diferentes.
Este artículo explicará las diferencias entre estas dos métricas importantes, cómo supervisar la carga de la CPU con comandos comunes, el impacto de la carga elevada de la CPU y cómo controlarla para mejorar el rendimiento del sistema.
La utilización de la CPU es el porcentaje de trabajo que la CPU está manejando para gestionar tareas. La carga de la CPU es una medida de cuántos procesos se están ejecutando o esperando a ser ejecutados por la CPU.
Los comandos como uptime
o top
proporcionan el valor de los promedios de carga de la CPU. Es decir proveen el número medio de hilos que usan o solicitan utilizar la CPU durante los últimos 1, 5 y 15 minutos. Los promedios de carga alta indican que la CPU está sobrecargada con demasiados procesos. Por ejemplo, una CPU con un promedio de carga de 1 se está ejecutando a plena capacidad. Una CPU completamente inactiva tiene un valor de carga de 0.
Sin embargo, esta métrica aumenta con los núcleos de CPU. Cuantos más núcleos se instalen en el sistema, más tareas puede manejar en paralelo.
Por ejemplo, el promedio de carga acumulada para una CPU con 4 núcleos será de 4. Esto se debe a que cada núcleo puede manejar un valor de carga de 1. En este escenario, incluso si uno de los núcleos se ejecuta al 100% de su capacidad, la CPU solo se cargaría con una cuarta parte de su carga potencial.
Si la carga es mayor que el número de núcleos instalados, los procesos comenzarían a ponerse en cola para usar la CPU.
Como se indicó, la carga de la CPU se promedia durante los períodos de 1, 5 y 15 minutos anteriores. Sin embargo, hay otras métricas que nos ayudan a identificar la carga de la CPU. Estas incluyen:
Una carga de CPU alta no suele afectar negativamente el rendimiento de un sistema, siempre y cuando no ocurra a largo plazo. Sin embargo, ejecutar una CPU al 100% de su capacidad durante períodos prolongados puede tener un impacto leve o grave en el rendimiento del sistema.
A continuación se enumeran algunos de los posibles problemas:
Diferentes comandos ayudan a observar la carga del sistema durante diferentes períodos. Generalmente es mejor tener un número bajo, ya que un número más alto indica que el equipo está sobrecargado.
La siguiente sección cubrirá algunos de los comandos que facilitan el seguimiento de los promedios de carga de la CPU.
top
El comando top
muestra las estadísticas dinámicas de un sistema Linux en ejecución en tiempo real. Es uno de los comandos más utilizados para monitorear el rendimiento del sistema. La primera mitad de la salida del comando top
contiene métricas importantes del sistema. La segunda parte muestra estadísticas sobre una lista de procesos que se actualizan de forma automática y que están siendo gestionados actualmente por el kernel de Linux.
Al ejecutar el comando top
, se creará una salida similar a la que se muestra en la siguiente figura:
La primera línea de esta salida muestra el tiempo de actividad, el número total de usuarios activos conectados al sistema y los promedios de carga de la CPU durante los últimos 1, 5 y 15 minutos.
Por ejemplo, la salida anterior muestra los promedios de carga como 0,13, 0,40 y 0,21. Para interpretar correctamente estos números, es importante saber cuántos núcleos tiene la CPU. La salida anterior es de un equipo con un solo núcleo, por lo que el promedio de carga está dentro del límite aceptable. Esto se debe a que todos los promedios de carga son inferiores a 1,0. Incluso si hay un pico en el intervalo de 1 y 5 minutos, no debería haber un problema siempre y cuando el promedio de carga del intervalo de 15 minutos esté dentro del límite.
uptime
El comando uptime también es útil para ver el promedio de carga del sistema. Este comando muestra el tiempo actual del sistema, el tiempo de actividad del equipo, el número de usuarios que han iniciado sesión actualmente en el sistema y los promedios de carga de los últimos 1, 5 y 15 minutos.
Al ejecutar el comando uptime
, se generará una salida similar a la que se muestra a continuación:
La salida anterior es muy similar a la primera línea de la salida del comando top
. Los promedios de carga se muestran en el mismo formato y el valor de los promedios de carga es 0,53, 0,56 y 0,24. Dado que esta es la salida de un equipo con un solo núcleo, los promedios de carga siguen estando por debajo del límite. Esto se debe a que están por debajo de 1,0. Este valor siempre se ajusta según el número de núcleos del sistema.
ps
El comando ps
es una herramienta flexible y ampliamente utilizada para identificar los procesos que se ejecutan en el sistema y el número de recursos que utilizan para ejecutarse. Este comando puede mostrar diferentes salidas de acuerdo con varias opciones.
Al ejecutar el comando ps
, se generará una salida como la que se muestra a continuación:
Esta salida muestra información básica sobre los procesos en ejecución, pero se puede personalizar con las opciones proporcionadas por el comando ps
para obtener más detalles.
Por ejemplo, podemos ver y ordenar qué procesos están usando más CPU ejecutando el siguiente comando:
Esto dará como resultado una salida como la que se muestra a continuación:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
El comando ps
no muestra los promedios de carga del sistema. Se utiliza para solucionar la causa y encontrar los procesos que están causando la carga elevada de la CPU. Pongamos un ejemplo. Si un proceso está utilizando el 100% de la CPU, los otros procesos tendrán que esperar a la CPU y esto aumentará su carga.
Este comando también ayuda a identificar los procesos que se están generando de forma repetitiva o que están en un estado zombie.
A continuación se presentan algunas correcciones comunes para reducir la carga elevada de la CPU:
Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 “Learn” portal. Get paid for your writing.
Apply Now