Usar el comando 'top' para solucionar problemas de tu sitio web

Generalidades

El comando top te permite ver las tareas del sistema que se ejecutan en tiempo real. Proporciona un buen resumen de tu sistema para verificar rápidamente si algo se destaca que pueda estar causando problemas con tu sitio web o servidor. Consulta la siguiente página de manual para obtener más detalles:

¿Cómo ejecuto el comando 'top'?

Debes iniciar sesión en tu servidor a través de SSH para ejecutar el comando top. Ve los siguientes artículos para obtener información sobre cómo configurar un usuario de Shell e iniciar sesión en tu servidor:

Método abreviado

La parte superior tiene algunas teclas de método abreviado disponibles que cambian la forma en que se muestra la información:

# Tecla de Abreviación  Descripción
c Alterna la columna COMMAND entre mostrar el comando o el nombre del programa.
t Muestra información resumida de forma activada y desactivada.
m Muestra información de la memoria activada y desactivada.
A Ordena la pantalla por los principales consumidores de varios recursos del sistema. Útil para la identificación rápida de tareas que requieren un gran rendimiento en el sistema.
f Ingresa a una pantalla de configuración interactiva para top. Útil para configurar top para una tarea específica.
o Te permite seleccionar de forma interactiva la orden en top.
r Emite el comando renice.
k Emite el comando kill.
z Activa y desactiva color/mono.

Este es el primer paso. Muchas veces puedes saber qué sitio está causando problemas simplemente verificando tus procesos activos. Inicia sesión en tu servidor a través de SSH y observa qué procesos se están ejecutando. Digamos que ves algo como esto:

[server]$ top -c
top - 14:37:35 up 10 days, 17:35,  3 users,  load average: 0.83, 0.89, 1.11
Tasks:  16 total,   1 running,  15 sleeping,   0 stopped,   0 zombie
Cpu(s): 34.7%us,  4.8%sy,  1.7%ni, 56.5%id,  0.9%wa,  0.2%hi,  1.1%si,  0.0%st
Mem:  32966092k total, 32546460k used,   419632k free,  6369232k buffers
Swap:  8000328k total,   228972k used,  7771356k free, 12650516k cached

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
8384  username  20   0 66984  11m 6852 S    1  0.0   0:03.62 php5.cgi
8385  username  20   0 66044  10m 6700 S    0  0.0   0:00.24 php5.cgi
10895 username  20   0 65940  10m 6848 S    0  0.0   0:00.92 php5.cgi
10917 username  20   0 65980  10m 6848 S    0  0.0   0:00.79 php5.cgi
7542  username  20   0 65956  10m 6860 S    0  0.0   0:00.51 php5.cgi
7818  username  20   0 65980  10m 6860 S    0  0.0   0:00.35 php5.cgi
7828  username  20   0 65988  10m 6860 S    0  0.0   0:00.33 php5.cgi
7917  username  20   0 66016  10m 6860 S    0  0.0   0:00.43 php5.cgi
8152  username  20   0 65976  10m 6856 S    0  0.0   0:04.21 php5.cgi 
8380  username  20   0 65932  10m 6848 S    0  0.0   0:04.03 php5.cgi
8386  username  20   0 66020  10m 6860 S    0  0.0   0:00.32 php5.cgi
10896 username  20   0 65908  10m 6848 S    0  0.0   0:00.66 php5.cgi
10919 username  20   0 65948  10m 6848 S    0  0.0   0:00.24 php5.cgi

Si se parece a lo anterior, es muy probable que te encuentres con este problema. Generalmente, si estás ejecutando más de 10 procesos PHP a la vez y se mantienen bastante estables, esto es una indicación de problemas de memoria.

Esto puede ayudarte a diagnosticar un problema en un solo sitio con tu nombre de usuario, pero si tienes más de un sitio, debes ejecutar lsof para encontrar cualquier archivo abierto que pueda estar causando un problema.

Ordenar resultados por uso de memoria

Puedes ordenar los resultados de top por uso de memoria. Primero, corre el comando top para ver los resultados en vivo.

Una vez abierto, presiona Shift + m y los resultados se ordenan por uso de memoria.

Visualización del uso de memoria de un proceso específico

[server]$ top -b -n 1 | grep -i [EnterProcessName]

Servidores VPS y Dedicados

Si estás en un Servidor VPS o Dedicado, correr top mostrará una gran cantidad de procesos del sistema ejecutados por usuarios como 'root', 'dhapache', 'postfix', etc. Si deseas ver solo los procesos que se ejecutan desde un usuario específico, usa el siguiente comando:

[server]$ top -U [EnterUsername]

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?