En este tutorial, te explicaremos diferentes herramientas que puedes usar para revisar el uso de la CPU en Linux y Unix.
Entender el uso de la CPU en términos simples involucra dos conceptos principales: métricas de la CPU e interpretación de la carga y el uso de la CPU.
Conceptos básicos de las métricas de la CPU:
- Uso de la CPU: Esto indica cuánto se está utilizando tu CPU en un momento dado. Es como el motor de un coche funcionando a cierta velocidad. Un porcentaje más alto significa que está trabajando más duro.
- Núcleos de la CPU: Las CPUs modernas tienen múltiples núcleos, como tener varios motores. Más núcleos pueden manejar más tareas simultáneamente.
Interpretación de la carga y el uso de la CPU:
- Carga de la CPU: Esto te indica cuántos procesos están esperando para usar la CPU. Imagina una cola en una cafetería; una cola más larga significa más espera.
- Uso a lo largo del tiempo: Monitorear el uso de la CPU a lo largo del tiempo ayuda a identificar cuándo tu computadora está trabajando más duro. Es como darte cuenta de cuándo la cafetería está más ocupada.
En resumen, el uso de la CPU se trata de cuánto está trabajando tu CPU (uso) y cuántas tareas están esperando para usarla (carga). Entender esto te ayuda a evaluar el rendimiento y la eficiencia de tu computadora.
Diferentes herramientas para verificar el uso de la CPU en Linux
#1. Usando el comando “top”
Usar el comando top
en Linux es un método ampliamente adoptado para monitorear el uso de la CPU. Este comando top proporciona datos en tiempo real sobre el uso de los recursos del sistema, incluyendo el uso de la CPU. Aquí tienes una guía paso a paso para usar top
para verificar el uso de la CPU:

- Abre la Terminal: Inicia la terminal en tu sistema Linux.
- Ejecuta el comando: Escribe
top
y presiona Enter. - Interpreta la salida:
- El comando muestra una lista dinámica de procesos.
- La columna “%CPU” muestra el porcentaje de uso de la CPU para cada proceso.
- La línea “%CPU(s)” en la parte superior indica el uso general de la CPU por todos los procesos.
- Ordenar procesos:
- Por defecto, los procesos se ordenan en orden descendente de uso de la CPU. El proceso en la parte superior utiliza la mayoría de los recursos de la CPU.
- Para ordenar específicamente los procesos por uso de la CPU, presiona Mayúsculas + P. Esto reorganizará los procesos para que aquellos que consumen más CPU se muestren primero, proporcionando una vista clara de las tareas que más recursos consumen.
- Saliendo de
top
: Para salir, presiona la tecla “q”. - Funciones interactivas de
top
:- Presiona “k” para enviar señales, como terminar o matar, a un proceso.
- Presiona “1” para ver el uso de la CPU de cada núcleo individual (para sistemas con múltiples núcleos).
- Presiona “f” para personalizar las columnas mostradas.
#2. Usando el comando “htop”
Usar el comando htop es otra forma efectiva de monitorear el uso de la CPU en Linux. Aquí tienes una guía sobre cómo usar htop
:

- Abrir Terminal: Abre tu interfaz de terminal.
- Instalar
htop
(si es necesario):- Para distribuciones basadas en Debian/Ubuntu:
sudo apt-get install htop
- Para distribuciones basadas en Red Hat/CentOS:
sudo yum install htop
- Para Fedora:
sudo dnf install htop
- Para Arch Linux:
sudo pacman -S htop
- Para distribuciones basadas en Debian/Ubuntu:
- Ejecutar
htop
: Simplemente escribehtop
y presiona Enter. - Descripción general de la interfaz:
- El uso de la CPU se muestra en la parte superior con barras individuales para cada núcleo.
- Abajo hay una lista de procesos con su respectivo uso de CPU y memoria.
- Ordenar procesos por uso de CPU:
- Presiona F6 para abrir el menú de ordenación.
- Usa las flechas para seleccionar %CPU, luego Enter para ordenar por uso de CPU.
- Funciones interactivas:
- Para matar un proceso, selecciónalo con las flechas y presiona F9.
- Para buscar o filtrar procesos, presiona F3 y escribe el nombre del proceso.
- Saliendo de
htop
: Presiona F10 o q para salir.
#3. Usando el comando “vmstat”
El comando vmstat
(Estadísticas de memoria virtual) en Linux se utiliza para monitorear el rendimiento del sistema, incluyendo el uso de la CPU. Aquí tienes una guía sobre cómo usar vmstat
:

- Abrir Terminal: Inicia tu ventana de terminal.
- Comando básico: Escribe
vmstat
para mostrar un resumen de las estadísticas clave del sistema. - Usando intervalos:
vmstat [intervalo] [cuenta]
: Actualiza las estadísticas cada [intervalo] segundos, [cuenta] veces. Por ejemplo,vmstat 5 10
actualizará cada 5 segundos, 10 veces. - Métricas clave:
- Campos de la CPU: us (tiempo de usuario), sy (tiempo del sistema), id (tiempo inactivo).
- Campos de memoria: swpd (espacio de intercambio utilizado), free (memoria libre).
- Campos de intercambio: si (memoria intercambiada), so (memoria intercambiada).
- Campos de E/S: bi (bloques de entrada), bo (bloques de salida).
- Opciones adicionales:
- -a: Mostrar memoria activa/inactiva.
- -d: Mostrar estadísticas de disco.
- -s: Proporcionar una tabla de contadores de eventos y estadísticas de memoria.
- Interpretando la salida:
- La primera fila de la salida muestra los promedios desde el último reinicio.
- Las filas siguientes muestran datos en tiempo real basados en el intervalo especificado.
- Deteniendo
vmstat
: Si se ejecuta con intervalos, deténlo con Ctrl+C.
#4. Usando el comando “mpstat”
El comando mpstat
en Linux se utiliza para monitorear el uso de la CPU en diferentes procesadores y es una herramienta versátil, ideal para el monitoreo detallado de la CPU, especialmente en sistemas multinúcleo. Aquí te explicamos cómo usarlo:

- Abrir Terminal: Inicia la terminal desde tu entorno Linux.
- Uso básico: Simplemente escribe
mpstat
y presiona Enter. Esto proporciona una visión general del uso de la CPU en todos los procesadores. La salida muestra varias métricas por CPU, incluyendo el tiempo de usuario (%usr), el tiempo del sistema (%sys) y el tiempo inactivo (%idle). - Usando intervalos: Para el monitoreo en tiempo real, usa
mpstat
seguido de un intervalo de tiempo en segundos. Por ejemplo,mpstat 2
actualizará los datos de uso de la CPU cada 2 segundos. - Monitoreo de CPUs específicas: Usa
mpstat -P ALL
para ver las estadísticas de cada núcleo de CPU individual. Para monitorear un núcleo específico, usampstat -P
seguido del número de núcleo, comompstat -P 1
para la CPU 1. - Opciones adicionales:
mpstat -u
muestra el uso de la CPU.mpstat -V
muestra la versión dempstat
.
- Interpretando los datos:
- %usr: Porcentaje de utilización de la CPU en modo usuario.
- %sys: Porcentaje de utilización de la CPU en modo sistema.
- %idle: Porcentaje de tiempo que la CPU está inactiva.
- Saliendo de
mpstat
: Para detener el comando cuando se ejecuta con intervalos, usa Ctrl+C.
#5. Usando el comando “sar”
El comando sar
(System Activity Reporter) en Linux es una herramienta potente utilizada principalmente para monitorear el rendimiento del sistema, incluyendo el uso de la CPU. Aquí tienes una explicación detallada centrándose en el uso de la CPU:
- Abrir Terminal: Comienza iniciando tu terminal.
- Instalación: Si no está instalado, puedes instalar
sar
usando el gestor de paquetes de tu distribución, comosudo apt install sysstat
en Ubuntu. - Monitoreo básico de la CPU: Ejecuta
sar -u
para mostrar la actividad de la CPU. La salida incluye varias métricas clave:- %user: Tiempo que la CPU dedicó a ejecutar procesos de usuario.
- %nice: Tiempo que la CPU dedicó a ejecutar procesos de usuario de baja prioridad.
- %system: Tiempo que la CPU dedicó a los procesos del sistema (núcleo).
- %iowait: Tiempo que la CPU estuvo inactiva durante el cual el sistema tenía solicitudes de E/S de disco pendientes.
- %idle: Tiempo que la CPU estuvo inactiva y el sistema no tenía ninguna solicitud de E/S de disco pendiente.
- Monitoreo en tiempo real con intervalos:
sar -u [intervalo] [cuenta]
proporciona actualizaciones continuas. Por ejemplo,sar -u 2 3
actualiza las estadísticas de la CPU cada 2 segundos, tres veces en total. - Datos históricos:
sar
almacena datos históricos en/var/log/sysstat/
. Usasar -u -f /var/log/sysstat/saXX
para ver los datos de un día específico (XX es el número de archivo). - Opciones avanzadas:
sar -P ALL
muestra estadísticas por procesador.sar -u ALL
proporciona estadísticas de uso de la CPU extendidas.
- Analizando la salida: Entender estas métricas ayuda a identificar problemas de rendimiento de la CPU. Por ejemplo, un %iowait alto podría indicar cuellos de botella relacionados con el disco.
- Informes de programación:
sar
se puede programar para que se ejecute a intervalos regulares usando trabajos cron, proporcionando un monitoreo continuo. - Exportando datos: Los datos de
sar
se pueden exportar para un análisis o informes posteriores.
Nota: Asegúrate de que la recolección esté habilitada
sudo nano /etc/default/sysstat
##Cambia esta línea:
ENABLED="false"
Inicia y habilita el servicio:
sudo systemctl enable sysstat
sudo systemctl start sysstat
#6. Usando el comando “iostat”
El comando iostat
en Linux, comúnmente usado para monitorear la carga de dispositivos de entrada/salida del sistema, también puede proporcionar información valiosa sobre el uso de la CPU. Aquí tienes una explicación detallada:

- Abrir Terminal: Comienza abriendo tu terminal.
- Ejecutando el comando básico: Ejecuta
iostat
para obtener un informe que incluye estadísticas de la CPU. La sección de la CPU del informe muestra los porcentajes de uso en diferentes modos: %user, %nice, %system, %iowait e %idle. - Usando intervalos para el monitoreo continuo:
iostat [intervalo] [cuenta]
actualiza el informe a [intervalo] segundos durante [cuenta] veces. Por ejemplo,iostat 5 3
da un informe cada 5 segundos, tres veces. - Entendiendo las métricas de la CPU:
- %user: Porcentaje de utilización de la CPU que ocurrió mientras se ejecutaba a nivel de usuario.
- %nice: Porcentaje de utilización de la CPU que ocurrió mientras se ejecutaba a nivel de usuario con prioridad agradable.
- %system: Porcentaje de utilización de la CPU que ocurrió mientras se ejecutaba a nivel del sistema (núcleo).
- %iowait: Porcentaje de tiempo que la CPU o las CPUs estuvieron inactivas durante el cual el sistema tenía una solicitud de E/S de disco pendiente.
- %idle: Tiempo en que la CPU o las CPUs estuvieron inactivas y el sistema no tenía ninguna solicitud de E/S de disco pendiente.
- Instalación:
iostat
es parte del paquetesysstat
. Instálalo si no está presente, por ejemplo,sudo apt-get install sysstat
en Debian/Ubuntu. - Uso avanzado:
iostat -c
muestra solo las estadísticas de la CPU.iostat -d
proporciona estadísticas de utilización del dispositivo, útiles para correlacionar la actividad de la CPU con el uso del disco.
- Analizando y exportando datos: El monitoreo regular con
iostat
ayuda a comprender cómo la carga de E/S afecta el rendimiento de la CPU. La salida se puede redirigir a un archivo para su posterior análisis. - Uso en la optimización del rendimiento: Al analizar la salida de
iostat
, puedes identificar si una alta espera de E/S está causando problemas de rendimiento de la CPU.
#7. Usando el comando “ps”
El comando ps
en Linux es una herramienta potente para monitorear los procesos del sistema, y cuando se usa con opciones específicas, puede ser una forma eficiente de monitorear el uso de la CPU. Usando el siguiente comando, puedes extraer información detallada sobre los procesos que consumen la mayoría de los recursos de la CPU.
ps -eo pid,ppid,%cpu,cmd --sort=-%cpu | head -10

ps
: El comando principal para mostrar información sobre los procesos activos.-eo pid,ppid,%cpu,cmd
: Estas opciones personalizan la salida:pid
: ID del proceso.ppid
: ID del proceso principal, indicando el proceso que generó este proceso.%cpu
: Porcentaje de CPU utilizado por el proceso.cmd
: Línea de comandos del proceso.
--sort=-%cpu
: Ordena la salida por uso de CPU en orden descendente.| head -10
: Canaliza la salida al comandohead
para mostrar solo los 10 procesos principales.
Resumen
En Linux, monitorear el uso de la CPU es crucial para el rendimiento del sistema y se puede hacer eficientemente usando comandos como top
, htop
, vmstat
, mpstat
, sar
, iostat
y ps
.
El comando top
ofrece métricas del sistema en tiempo real, fácilmente ordenables por uso de CPU, mientras que htop
proporciona una interfaz más amigable con capacidades similares. vmstat
es valioso para una vista instantánea del rendimiento del sistema, incluyendo la carga de la CPU y el uso de la memoria. mpstat
ofrece estadísticas detalladas de la CPU, especialmente útiles en entornos multinúcleo.
El comando sar
es esencial para el monitoreo de la CPU a largo plazo, proporcionando informes completos. iostat
es experto en mostrar cómo las operaciones de E/S afectan el rendimiento de la CPU.
Por último, el comando ps
, particularmente con banderas específicas, puede identificar los procesos de alto uso de CPU, ayudando en el diagnóstico rápido y la gestión eficaz de los recursos. Estas herramientas colectivamente forman un marco robusto para que los administradores de sistemas Linux monitoreen, analicen y optimicen el uso de la CPU.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.