Si necesitamos monitorear la ejecución de procesos de nuestro servidor Linux, podemos utilizar el comando top que nos permitirá revisar todos los procesos en ejecución, además del consumo de CPU y memoria en tiempo real de nuestro sistema.
Para poder revisar esto, debemos seguir los siguientes pasos:
- Ingrese vía SSH a su servidor. Si no conoce como realizar este proceso, pinche aquí.
- Al ingresar, escriba top y presione la tecla Enter. Aparecerá una pantalla similar a esta:
A continuación explicaremos los parámetros mas importantes (destacados en rojo en la imagen) que le permitirán a usted comprender de mejor forma el uso de recursos actual de su sistema:
- Load average: Acá podemos ver el promedio de carga de la CPU en lapsos de 5, 10 y 15 minutos respectivamente.
- %Cpu(s): Corresponde al uso de la CPU dividido en los distintos usos entregados. A continuación explicamos los que debe considerar:
- us (usuario): Porcentaje de CPU utilizado por el usuario.
- sy (sistema): Porcentaje de CPU utilizado por el sistema (kernel)
- id (inactivo): Porcentaje de CPU disponible.
- wa (en espera): Porcentaje de CPU utilizado por procesos en espera
- hi (interrupciones de hardware): Uso de CPU por interrupciones de hardware.
- si (interrupciones de software): Uso de CPU en interrupciones de software.
- En este cuadro, existen varios valores, los cuales explicamos a continuación:
- PID: es el identificador de proceso. Cada proceso tiene un identificador único.
- USER (USUARIO): usuario propietario del proceso.
- PR: prioridad del proceso. Si figura como RT es que dicho proceso se está ejecutando en tiempo real.
- NI: asigna la prioridad. Si tiene un valor bajo (hasta -20) quiere decir que tiene más prioridad que otro con valor alto (hasta 19).
- VIRT: cantidad de memoria virtual utilizada por el proceso.
- RES: cantidad de memoria RAM física que utiliza el proceso.
- SHR: memoria compartida.
- S (ESTADO): estado del proceso:
- S: sleeping, proceso “dormido” o en pausa
- D: proceso “dormido” ininterrumpible
- R: proceso en curso
- Z: proceso “zombie”, corresponde a un proceso que ya completó su ejecución, pero aún tiene una entrada en la tabla de procesos, permitiendo al proceso que lo ha creado, leer el estado de su salida.
- T: proceso detenido
- %CPU: porcentaje de CPU utilizado desde la última actualización.
- %MEM: porcentaje de memoria física utilizada por el proceso desde la última actualización.
- TIME+ (HORA+): tiempo total de CPU que ha usado el proceso desde su inicio.
- COMMAND: comando utilizado para iniciar el proceso.
Con estos parámetros, podrá detectar de forma rápida y precisa los procesos que están generando mas consumo de CPU y memoria RAM en tiempo real, con el fin de mantener estable su sistema y evitar caídas de servicios.
Como dato anexo, podemos utilizar las siguientes teclas para ampliar el uso de TOP, esto es mientras esta corriendo:
M –> Ordenar por uso de memoria
P –> Ordenar por uso de CPU
T –> Ordenar por tiempo de CPU utilizado
F –> seleccionar campo por el cual ordenar la lista de procesos
i –> mostrar u ocultar procesos idle y zombie
m, l, t, 1 –> muestra u oculta las líneas del resumen (parte de arriba)
f, o –> agregar/quitar columnas, cambiar el orden
s –> cambia el tiempo de actualización de la pantalla (por defecto es de 3 segundos)
z –> Cambia de color
k –> Matar un proceso (luego pregunta el PID)
r –> “renice” cambia el nice value de un proceso (luego pregunta el PID)
q –> Salir de top
h –> ayuda