Administrar el uso de la memoria de tu VPS

Generalidades

Este artículo explica cómo tu VPS usa recursos y las diferentes opciones para monitorear y solucionar problemas de memoria que puedan aparecer.

Requisitos previos

Para correr los comandos en ester artículo vía SSH, debes tener configurado un usuario Shell en tu panel y tener conocimiento general del Shell de UNIX.

Bases del uso de memoria

Cada VPS reserva aproximadamente 100 MB de memoria para operaciones esenciales del sistema. Esto debe tenerse en cuenta al asignar memoria a tu VPS.

Ver el uso de recursos en el panel

Para ver el gráfico de uso de memoria de tu VPS, abre la página Servidores y da clic en el botón Administrar a la derecha de tu servidor. Estos gráficos se actualizan diariamente para mostrar un promedio del uso del día, por lo que te ayuda a ver las tendencias de uso. Puedes ver los gráficos de RAM, Disco y CPU.

La visualización del uso de la CPU varía según la asignación del servidor.

  • En un servidor vpshost, existe un límite de núcleos de vCPU según el plan de VPS. El panel proporciona un gráfico para realizar un seguimiento del uso de la CPU.
  • En un servidor lxc host, los recursos de la CPU se comparten dinámicamente entre todos los servidores; por lo tanto, el gráfico de uso de la CPU no está disponible.

Para confirmar si tu VPS está bajo un vpshost o lxchost, navega a la sección Máquinas en la página Centros de Datos.

Auto-Boost

DreamHost ofrece un servicio llamado Auto-Boost que protege temporalmente tu servidor durante picos de memoria para garantizar que el sitio web siga funcionando sin problemas. El gráfico muestra todas las instancias en las que se activó Auto-Boost.

Los comandos top, free, y ps aux

Los siguientes comandos se deben ejecutar periódicamente para obtener más información que te ayude a diagnosticar el problema en particular que está observando. Para ejecutar los comandos:

  • Iniciar sesión en tu servidor a través de SSH.
  • En tu aplicación de terminal, abre dos conexiones en pestañas separadas para revisar fácilmente los resultados.

El comando top

El comando top muestra los procesos activos actualmente, el porcentaje de CPU que están usando, cuánta memoria y qué usuario lo está ejecutando.

En tu terminal, escribe top. Luego presiona la tecla Enter.

[server]$ top

Filtrar por memoria

Una vez top esté corriendo, presiona Shift + m para filtrar los procesos por uso de memoria.

PID   USER      PR  NI   VIRT  RES  SHR   S  %CPU  %MEM    TIME+   COMMAND
14871 exampleu  20   0   250m  14m  8340  S   5     1.3   0:04.12  php83.cgi
23591 exampleu  20   0   250m  12m  8256  S   6     1.3   0:00.36  php83.cgi
23652 exampleu  20   0   250m  13m  8256  S   6     1.3   0:00.18  php83.cgi
23654 exampleu  20   0   250m  15m  8252  S   6     1.3   0:00.17  php83.cgi

La asignación de memoria que configure en tu panel se relaciona con la memoria física que se utiliza (en contraposición a la memoria virtual). Esto corresponde a la columna RES en la salida. En esta columna, puede ver cuánta memoria está utilizando cada proceso. En este caso, todos utilizan entre 12 y 15 MB de memoria.

Los valores que ves pueden estar en kilobytes. Para cambiar a MB, solo presiona la letra e. Mantén presionada la tecla para alternar entre las diferentes unidades de memoria.

Ten en cuenta que los procesos Apache y PHP se multiplican a medida que tu sitio recibe una gran cantidad de tráfico y comienza a atender más solicitudes. Como resultado, el uso de memoria podría crecer exponencialmente durante estos períodos.

El comando free

En otra terminal, corre free -m para mostrar el uso actual de memoria en megabytes.

[server]$ free -m
             total        used        free      shared  buff/cache   available
Mem:          1000         233         114          21         652         766
Swap:            0           0           0
  • total: En el ejemplo anterior, la memoria total disponible es de aproximadamente 1GB. Puedes ver este valor como 1000MB en la columna total.
  • used: Debajo de la columna used en la primera fila, muestra 233 MB. Esto significa que se utilizan 2,1 GB.
  • available: Debajo de la columna available, en la segunda fila muestra 766MB disponibles. Este es el total de la memoria disponible para empezar nuevas aplicaciones o procesos.

El total que ve debe corresponder a la cantidad de memoria que asignó a su VPS en tu panel.

Visita linuxatemyram.com para obtener más detalles sobre el uso de la memoria.

El comando ps aux

El comando ps te proporciona información similar a top pero simplemente toma una captura de los procesos activos y su uso. Esto es útil si solo deseas ver un proceso en particular.

Procesos de Apache

Corre este comando para ver solo los procesos de Apache:

[server]$ ps aux | grep apache

Esto "canalizará" (o pasará) la respuesta de ps aux al comando grep, el cual filtrará esa respuesta buscando el string apache en ella. Luego aparece cualquier línea con esa respuesta.

Procesos de PHP

Corre el siguiente comando para mostrar los procesos de PHP que están corriendo actualmente:

[server]$ ps aux | grep php

Cómo recuperarse de una saturación de memoria

La saturación de memoria ocurre cuando tu VPS está utilizando toda su asignación de memoria. Cuando esto sucede, pueden surgir varios problemas, como:

  • Es probable que tus sitios dejen de responder en muchos casos.
  • Otros procesos esenciales en tu VPS también dejarán de responder, como el servidor SSH o el servidor de streaming de medios.
  • Tu VPS puede entrar en un estado en el que ni siquiera puede iniciar sesión debido a la saturación de la memoria.

Buscar la causa

Por lo general, puedes saber si se está produciendo una saturación de la memoria comprobando los elementos de las siguientes secciones.

Revisar del gráfico de recursos en el panel

Si el gráfico de uso de recursos muestra que tu memoria aumenta muy por encima de la memoria asignada, entonces es probable que esta sea la causa.

Correr el comando 'free'

Si aún puedes iniciar sesión en tu VPS a través de SSH, intenta ejecutar el comando free -m para ver cuánta memoria tienes disponible. Cuanto más cercano a cero sea ese valor, peor será la situación: en cero, tu sitio ha alcanzado la saturación total de memoria y es posible que no pueda responder en absoluto.

Solucionar el problema

Los pasos anteriores explican cómo localizar el origen de los problemas de memoria. A partir de ahí, deberás continuar solucionando los problemas que hayas encontrado para determinar la causa original. 

Por ejemplo, si los procesos PHP están causando problemas de memoria y tu sitio web está creado en WordPress, puedes comenzar por solucionar problemas comunes de WordPress.

Sin embargo, si tu sitio web está construido con código personalizado, la salida de los comandos anteriores podría indicarte el script específico que está causando los problemas de memoria.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?