Comando top de Linux: Monitoreo del Sistema en Tiempo Real

LinuxBeginner
Practicar Ahora

Introducción

Bienvenido a la práctica sobre el comando top de Linux. En esta sesión, aprenderá a utilizar la herramienta top para supervisar los procesos del sistema y el uso de recursos en tiempo real. Esta habilidad es fundamental para administradores de sistemas, desarrolladores y cualquier persona que necesite comprender y gestionar el rendimiento de un equipo.

Imagine que es un administrador de sistemas junior responsable de mantener un servidor web con mucho tráfico. Se ha informado que el servidor funciona con lentitud y usted debe identificar qué procesos están consumiendo la mayor cantidad de recursos. El comando top será su herramienta principal para esta investigación, permitiéndole visualizar y analizar la actividad del sistema en vivo.

Esta es una Práctica Guiada, que proporciona instrucciones paso a paso para ayudarle a aprender y practicar. Siga las instrucciones cuidadosamente para completar cada etapa y obtener experiencia práctica. Los datos históricos muestran que esta es una práctica de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los alumnos.

Uso Básico del Comando top

Comencemos ejecutando el comando top en su forma más sencilla. Esto nos proporcionará una vista dinámica y en tiempo real de los procesos del sistema.

Abra una terminal y ejecute el siguiente comando:

top

Debería ver una pantalla similar a esta:

top - 14:30:23 up  5:10,  1 user,  load average: 0.15, 0.22, 0.28
Tasks: 213 total,   1 running, 212 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us,  1.3 system,  0.0 ni, 96.3 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7824.9 total,   2576.8 free,   2935.0 used,   2313.1 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   4558.1 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 user      20   0 3626108 205008  89380 S   2.0   2.6   0:45.85 gnome-shell
 5678 user      20   0  859492  51528  38060 S   1.3   0.6   0:10.91 Xorg
 9101 user      20   0  722816  36096  29088 S   0.7   0.5   0:05.62 gnome-terminal

Esta pantalla se actualiza continuamente (por defecto, cada 3 segundos). Desglosemos lo que estamos viendo:

  1. La primera línea muestra la hora actual, el tiempo que el sistema lleva encendido, el número de usuarios conectados y el promedio de carga (load average).
  2. La segunda línea muestra el número total de tareas y sus estados (en ejecución, durmiendo, detenidas, zombie).
  3. La tercera línea indica los porcentajes de uso de la CPU.
  4. La cuarta y quinta línea muestran el uso de la memoria RAM y del espacio de intercambio (swap).
  5. La tabla inferior presenta información sobre procesos individuales, ordenados por defecto según el uso de CPU.

Para salir de top, presione la tecla 'q'.

Ordenamiento de Procesos en top

Por defecto, top ordena los procesos por el uso de CPU. Sin embargo, puede cambiar este criterio en tiempo real. Exploremos cómo ordenar por uso de memoria en su lugar.

  1. Ejecute el comando top:
top
  1. Una vez que top esté funcionando, presione la tecla 'M' (mayúscula). Esto ordenará los procesos por uso de memoria (tamaño de conjunto residente) en lugar de por uso de CPU.

Ahora debería ver los procesos reordenados, con los que consumen más memoria en la parte superior de la lista.

  1. Para volver a ordenar por uso de CPU, presione la tecla 'P' (mayúscula).

  2. Para ordenar por el ID de proceso (PID), presione la tecla 'N' (mayúscula).

  3. Para invertir el orden actual (ascendente/descendente), presione 'R' (mayúscula).

Recuerde que siempre puede presionar 'h' o '?' mientras top se está ejecutando para ver una pantalla de ayuda con todos los comandos disponibles.

Salga de top presionando 'q' cuando haya terminado de explorar.

Cambio del Intervalo de Actualización

Por defecto, top actualiza su pantalla cada 3 segundos. No obstante, puede modificar este intervalo. Vamos a configurarlo para que se actualice cada 1 segundo y así obtener datos más frecuentes.

Ejecute top con la opción -d:

top -d 1

Ahora observará que la pantalla se actualiza con mayor rapidez. Esto resulta útil cuando intenta detectar procesos de corta duración o cuando necesita observar cambios rápidos en la actividad del sistema.

Para cambiar el intervalo de actualización mientras top ya se está ejecutando:

  1. Presione 'd' (minúscula).
  2. Introduzca el nuevo retardo en segundos (por ejemplo, '0.5' para medio segundo).
  3. Presione Enter.

Tenga en cuenta que los intervalos de actualización muy cortos pueden consumir por sí mismos recursos significativos de la CPU, así que utilícelos con prudencia.

Salga de top presionando 'q' cuando termine.

Visualización de Procesos de un Usuario Específico

Como administrador de sistemas, a menudo necesitará supervisar los procesos de un usuario en particular. El comando top permite realizar esto fácilmente.

Vamos a monitorear los procesos del usuario actual (que es 'labex' en este entorno de laboratorio):

top -u labex

Ahora debería ver únicamente los procesos que pertenecen al usuario 'labex'.

Esta función es especialmente útil cuando intenta solucionar problemas relacionados con las actividades de un usuario específico o cuando desea concentrarse en sus propios procesos en un sistema multiusuario.

Salga de top presionando 'q' cuando haya terminado la observación.

Visualización Únicamente de Procesos Activos

En ocasiones, es posible que desee centrarse solo en los procesos que están realizando tareas y omitir los que están inactivos. El comando top ofrece una opción para ello.

Ejecute top con la opción -i:

top -i

Este comando mostrará solo los procesos activos, filtrando cualquier proceso que haya tenido un uso de CPU de cero desde la última actualización.

Esto es sumamente práctico cuando intenta identificar qué procesos están consumiendo recursos en el momento, sin la distracción de los procesos inactivos.

Salga de top presionando 'q' cuando termine.

Resumen

¡Felicidades! Ha completado esta práctica sobre el uso del comando top para el monitoreo del sistema en tiempo real. Repasemos lo que ha aprendido:

  1. Uso básico del comando top para visualizar procesos y uso de recursos.
  2. Cómo ordenar procesos mediante diferentes criterios (uso de CPU, memoria, PID) dentro de la interfaz.
  3. Cambio del intervalo de actualización de top para obtener datos con mayor o menor frecuencia.
  4. Monitoreo de procesos pertenecientes a un usuario específico.
  5. Visualización exclusiva de procesos activos, filtrando los inactivos.

Estas habilidades serán invaluables para supervisar y gestionar los recursos del sistema, especialmente en situaciones donde necesite identificar cuellos de botella en el rendimiento o diagnosticar fallos técnicos.

Aquí tiene algunas opciones adicionales y comandos interactivos de top que no cubrimos en esta sesión:

  • -b: Ejecutar en modo procesamiento por lotes (útil para enviar la salida a otros programas o archivos).
  • -n: Número de iteraciones antes de que top finalice automáticamente.
  • 'k': Finalizar (matar) un proceso por su PID desde el interior de top.
  • 'r': Cambiar la prioridad (renice) de un proceso.
  • 'c': Alternar la visualización del nombre del comando o la línea de comandos completa.
  • 'V': Mostrar información de la versión.

Recuerde que un monitoreo eficaz es crucial para mantener la estabilidad y el rendimiento del sistema. El uso regular del comando top le ayudará a detectar y prevenir problemas de recursos antes de que afecten significativamente la operatividad de su equipo.