Un proceso es la ejecución de un programa en el sistema - Se inicia siempre que un aplicativo es abierto o un comando es ejecutado en el terminal.
Cada proceso recibe un número exclusivo de identificación llamado PID (Process ID).
Todo servidor tiene diversos procesos en ejecución al mismo tiempo, y saber monitorearlos y finalizarlos es fundamental para quien administra servidores VPS o Dedicados, ya que ayudan a:
- Identificar cuellos de botella en el rendimiento
- Corregir bloqueos
- Liberar recursos del sistema
El monitoreo y la finalización se realizan a través de comandos. Consulta cómo acceder al terminal y ejecutar los comandos según tu necesidad:
- Vía SSH - VPS Simple o VPS n8n - Luego, sigue al paso 3
- Vía cPanel/WHM - VPS con panel o Dedicado:
1 Accede al WHM - Si es necesario, consulta cómo hacerlo
2 En la barra de búsqueda, busca Terminal y haz clic en la opción encontrada
3 Consulta a continuación cómo visualizar y gestionar en el terminal los procesos con los principales comandos disponibles en el terminal:
Monitorear procesos
Hay varias formas de monitorear y listar procesos en un servidor.
Las más comunes utilizan los comandos ps y top, que proporcionan información sobre el uso de CPU, memoria, tiempo de ejecución y estado del sistema.
A continuación, haz clic en el comando y consulta en detalle cómo utilizarlo:
- ps - muestra una lista estática de los procesos activos en el momento de la ejecución
- top - clasifica los procesos por uso de la CPU
ps
Al ejecutar el comando ps, muestra cuatro columnas principales:
- PID - ID del proceso
- TTY - Terminal asociado
- TIME - Tiempo de ejecución
- CMD - Comando que inició el proceso
4 En el terminal ingresa el comando que deseas aplicar:
Finalidad |
Comando |
| Listar todos los procesos en ejecución detalladamente | ps aux |
| Mostrar detalles de un proceso específico con PID | ps -p <PID> |
| Exhibir jerarquía de procesos | ps -axjf |
| Mostrar procesos en formato de árbol | ps axf |
| Clasificar por uso de CPU y memoria | ps aux --sort=-%cpu,%mem |
| Exhibir procesos del usuario actual | ps -u <usuario> |
| Mostrar solo nombres de procesos activos | ps -eo comm |
| Exhibir PID, padre, comando, CPU, memoria y tiempo de ejecución | ps -e -o pid,ppid,cmd,%cpu,%mem,etimes |
* Reemplaza <PID> y <usuario> por los valores correspondientes de tu servidor.
top
El comando top se utiliza para monitorear procesos en tiempo real e identificar los que más consumen CPU o memoria.
Lista los procesos en orden de uso de CPU, mostrando los que más consumen en la parte superior - También es útil para verificar si un proceso específico está activo.
4 En el terminal ingresa el comando:
top
5 La pantalla muestra información detallada sobre los procesos del servidor. Revisa en detalle lo que cada sección muestra:
- A) Primera línea - Uptime y carga de la CPU
- B) Segunda línea - Información sobre tareas (tasks)
- C) Tercera línea - Uso de la CPU
- D) Cuarta línea - Memoria Física (RAM)
- E) Quinta línea - Memoria Swap
- F) Información de la tabla de procesos
Consulta también:
A) Primera línea - Uptime y carga de la CPU
- Horario actual - muestra el horario en el servidor
- Up - tiempo que el servidor está activo
- Usuarios - número de usuarios conectados
-
Carga promedio - indica el consumo promedio de la CPU:
Último minuto, últimos 5 minutos y últimos 15 minutos
Un valor de 1.00 significa 100% de uso de una CPU
B) Segunda línea - Información sobre tareas (Tareas)
- Total - número total de procesos
- En ejecución - en ejecución
- Durmiendo - esperando recursos
- Detenido – procesos detenidos
- Zombie - procesos que esperan el cierre completo. Los procesos zombie son procesos que ya finalizaron, pero cuyo proceso padre aún no ha leído su estado de salida.
C) Tercera línea - Uso de la CPU
- us - tiempo gastado en procesos de usuarios
- sy - tiempo gastado por el kernel
- ni - tiempo de procesos con prioridad ajustada (nice)
- id - tiempo inactivo
- wa - tiempo de espera por I/O (entrada y salida)
- hi/si - tiempo gastado con interrupciones de hardware/software
-
st - tiempo de la CPU virtual esperando acceso a la CPU física
Observaciones:En Linux, existen dos valores que controlan la prioridad de un proceso: nice y priority. El "nice" es definido por el usuario e indica cuánto un proceso debe tener prioridad para usar la CPU. Va de -20 (prioridad más alta) hasta +19 (prioridad más baja), siendo 0 el valor por defecto. Este valor se utiliza para calcular la priority (PR) del proceso con la fórmula: PR = 20 + NI.
D) Cuarta línea - Memoria Física (RAM)
Siendo “MiB Mem” referente a memoria física utilizada, con el valor basado en la memoria RAM instalada en el sistema.
Total - cantidad total de RAM del servidor
Libre - memoria disponible
Usado - memoria en uso
Buff/cache - memoria utilizada para caché o datos temporales
E) Quinta línea - Memoria Swap
Memoria utilizada cuando la RAM se llena, el sistema usa el disco como memoria virtual (swamp).
- Total - cantidad total de swap
- Libre - swap disponible
- Usado - swap en uso
- Swap no muestra Buff/cache - solo total, usado y libre
Información de la tabla de procesos
Por último, el comando top muestra, en forma de tabla, todos los procesos que se están ejecutando en tiempo real en el servidor.
Consulta lo que significa cada columna mostrada:
Columna Descripción PID Identificador del proceso USER Usuario que inició el proceso PR y NI Prioridad y valor “nice” del proceso VIRT, RES y SHR Memoria virtual, física y compartida S Estado del proceso (activo, durmiendo, entre otros) %CPU E %MEM Uso de CPU y memoria TIME+ Tiempo total de ejecución de la CPU en centésimas de segundo COMMAND Nombre del proceso o comando
Comandos útiles dentro de top
Tecla Función M Ordenar procesos por uso de memoria (%MEM) P Ordenar procesos por uso de CPU (%CPU) u Filtrar por usuario c Mostrar camino completo del proceso d Cambiar el intervalo de tiempo de actualización q Salir de la interfaz del top Para más detalles, consulta el manual de utilización del top (En inglés)
Finalizar procesos
Para finalizar un proceso manualmente, se utiliza el comando kill.
Sirve para interrumpir procesos que estén bloqueados, consumiendo muchos recursos o ejecutando acciones indebidas.
Para mostrar el manual del comando, utiliza:
man kill
4 Antes de finalizar un proceso, es necesario identificar y verificar la lista de señales disponibles:
- PID - ejecuta el comando: ps aux
- Número de señal - ejecuta el comando: kill -l
Esto mostrará una lista con las señales y sus respectivos números.
Las señales más usadas son:
| Señal | Nombre | Descripción |
| 15 | SIGTERM | Solicita el cierre seguro del proceso |
| 9 | SIGKILL | Forza el cierre inmediato (úsalo con precaución, para evitar problemas en el servidor) |
5 Después de saber esta información, para cerrar, escribe el comando:
Un proceso específico:
$ kill -[número de señal] [PID del proceso]
Reemplaza [número de señal] y [PID del proceso] por los números deseados
Por ejemplo: kill -9 63772
Varios procesos:
kill [número de señal] PID1 PID2 PID3
Por ejemplo: kill -9 63772 45116 23465
¡Listo! Ahora ya sabes cómo monitorear y finalizar procesos en tu servidor.
Consejo:
Monitorea periódicamente los procesos del servidor para garantizar un funcionamiento estable y evitar sobrecargas inesperadas.