Entendiendo el uso de la CPU

El uso de la CPU es la cantidad de trabajo que una CPU hace para realizar las tareas que se le asignan. Es una métrica importante que se debe supervisar porque el alto uso de la CPU puede afectar negativamente el rendimiento de un sistema.

El uso de la CPU puede variar según el recuento de núcleos de la CPU, ya que el sistema funciona de forma más rápida y eficiente en el caso de un sistema de núcleo superior. Si los núcleos de la CPU no pueden manejar la carga pesada de una aplicación, se produce un cambio de contexto de las tareas. No obstante, demasiado cambio de contexto también causará un aumento en el uso de la CPU.

Es esencial supervisar y monitorear la eficiencia de la CPU para manejar los procesos y recursos del sistema. Afortunadamente, hay una serie de herramientas disponibles para monitorear esta métrica.

Causas del uso elevado de la CPU

Debido a que el uso elevado de la CPU indica un rendimiento deficiente del sistema, se debe evitar. A menudo, el uso de la CPU por encima del promedio se puede atribuir a una de las siguientes causas:

1. Proceso inactivo del sistema

Si un sistema está inactivo, el sistema operativo crea un proceso inactivo del sistema para evitar que el sistema se apague. Este proceso parece mostrar un alto uso de CPU, pero en realidad indica el porcentaje de capacidad de la CPU que no se está utilizando. Si el proceso inactivo está consumiendo hasta el 99% de la energía de la CPU, significa que solo el 1% se está utilizando para ejecutar tareas reales. .

2. Inicio automático de programas y procesos en segundo plano

Los programas de inicio automático son aplicaciones que se inician automáticamente al iniciar el sistema operativo y continúan ejecutándose en segundo plano. Si hay demasiados procesos en segundo plano ejecutándose simultáneamente, éstos consumen recursos de CPU y aumentan innecesariamente su uso.

3. Virus y malware

Si un sistema se vuelve extremadamente lento con un uso de la CPU de casi el 100% sin una causa clara, el problema puede ser un virus o malware. A menudo, estos son invisibles y utilizan en gran medida la CPU.

4. Navegador

Incluso el navegador puede causar un alto uso de la CPU si:

  • Se abren varias pestañas al mismo tiempo
  • Se ejecutan varios plugins y add-ons en segundo plano
  • Hay abiertas varias pestañas del navegador con anuncios o vídeos de reproducción automática

5. Programas con alto requisito de CPU

Las aplicaciones o programas que requieren una alta potencia de procesamiento, incluido el software de edición de vídeo y los videojuegos de alta resolución, pueden aumentar fácilmente el uso de la CPU.

Efectos del uso elevado de la CPU

El uso elevado de la CPU afecta negativamente el rendimiento del sistema de las siguientes maneras:

  • Retraso en el rendimiento de la CPU
  • Reinicio frecuente de los sistemas
  • Retraso en la respuesta de la aplicación
  • Sobrecalentamiento de la CPU

Es esencial comprobar el uso de la CPU con regularidad para comprender la causa y el impacto de la alta utilización de la CPU.

Determinar el uso de la CPU

A continuación se presentan algunos de los comandos más populares para monitorear en tiempo real el uso de la CPU en un sistema Linux.

Comando top

El comando top se utiliza para mostrar una vista dinámica en tiempo real de un sistema en ejecución. Muestra varias métricas cruciales del sistema junto con un conjunto de procesos que actualmente están siendo administrados por el kernel de Linux. Es uno de los comandos más utilizados para supervisar la utilización de la CPU, las estadísticas de procesos y la utilización de memoria de un sistema Linux.

Por ejemplo, se mostrará la siguiente salida al ejecutar el comando top en un sistema Linux:

Fig 1: Output of top command Fig 1: salida del comando top

En la salida anterior, el comando top muestra varias estadísticas importantes de la CPU. Estas incluyen los tiempos de inactividad y espera. Puedes calcular el uso general de la CPU mediante el tiempo de inactividad usando la fórmula que se indica a continuación:

Utilización de la CPU = 100 - tiempo de inactividad

En la salida anterior, el tiempo de inactividad es del 98,3%. Por ende, la utilización de la CPU se puede calcular de la siguiente manera:

Utilización de la CPU = 100 - 98,3 = 1,7%

El comando top genera una lista de procesos ordenados por el parámetro %CPU o el porcentaje de CPU consumida por un proceso. Esta lista incluye varios detalles sobre cada proceso y se actualiza automáticamente cada 5 segundos.

Comando mpstat

El comando mpstat proporciona información sobre el rendimiento y la utilización de la CPU dando estadísticas de la CPU para todo el sistema y cada procesador disponible.

Al ejecutar el comando mpstat en un sistema Linux, se mostrará una salida como la que se muestra en la figura 2.

Fig 2: Output of mpstat command Fig 2: salida del comando mpstat

Este comando muestra varias estadísticas de CPU: los tiempos de inactividad, espera de E/S y robo. Similar al comando top, el tiempo de inactividad que se muestra aquí se puede utilizar para calcular la utilización de la CPU empleando la misma fórmula.

El siguiente comando se puede ejecutar para obtener estadísticas para cada una de las CPU o los procesadores:

mpstat -P ALL 

Este comando generará una salida similar a la que se muestra en la figura 3.

Fig 3: Output of mpstat -p ALL command Fig 3: salida del comando mpstat -p ALL

Por lo tanto, la utilización de la CPU de los procesadores CPU0 y CPU1 se puede calcular como se muestra a continuación:

CPU0 = 100 - 92,13 = 7,87

CPU1= 100 - 22,78 = 77,22

Monitorear el uso de la CPU por proceso

Es esencial comprobar el uso de la CPU para cada proceso. Un sistema puede mostrar un alto uso de CPU, incluso si solo unos pocos procesos representan la mayor parte. Investiga los procesos individuales para identificar la causa y terminarlos según sea necesario.

Además de top, ps es otro comando útil para ver las estadísticas de la CPU a nivel de proceso.

Comando ps

El comando ps proporciona información sobre los procesos que se ejecutan en el sistema Linux. Se utiliza para ver información relacionada con el proceso, incluido el usuario del proceso, el tipo de terminal utilizado y el PID del proceso.

Al ejecutar el comando ps en un sistema Linux ,se generará una salida similar a la que se muestra a continuación.

Fig 4: Output of ps command Fig 4: salida del comando ps

También puedes utilizar el comando ps para ver los 10 procesos que más utilizan la CPU ejecutando el siguiente comando:

ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 

La salida de este comando será similar a la siguiente figura.

Fig 5: Top 10 most CPU consuming processes Fig 5: los 10 principales procesos que consumen más CPU

La salida del comando anterior proporciona información relacionada con el proceso: su ID (PID), su usuario y el comando utilizado para ejecutarlo. Esta información se ordena de acuerdo con la utilización de la CPU y ayuda al usuario a identificar el proceso que utiliza la mayor parte de la CPU para que pueda tomar medidas adecuadas.

Was this article helpful?
Supervise su entorno Linux

Verifique el estado y la disponibilidad de sus servidores Linux para obtener un rendimiento óptimo con la herramienta de monitoreo de Linux de Site24x7.

Write For Us

Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 "Learn" portal. Get paid for your writing.

Write For Us

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
Write For Us