¿Cuánta RAM necesita un VPS? La regla, uso por uso

La memoria es el recurso que con más frecuencia fija el tamaño de un servidor: es la primera que falta y, cuando falta, el servidor no se ralentiza, sino que detiene servicios. Esta guía da la regla de cálculo, lo que consume cada componente de una aplicación, perfiles tipo y la forma de medir en un servidor que ya está en funcionamiento.

Publicado el 15 de octubre de 2026 Por 9 minutos de lectura

Todas las guías

Lo esencial

  1. Sume lo que permanece en memoria de forma continua: el sistema, el servidor web, cada proceso de la aplicación, la base de datos y la caché.
  2. Dimensione para el pico, no para la media: una compilación, una copia de seguridad o una tarea programada pueden duplicar el consumo durante unos minutos.
  3. Añada un 25 % de margen. La memoria que queda libre sirve de caché de disco y acelera la base de datos.
  4. En un servidor en funcionamiento, lea la columna available de free -h, no la columna free.
  5. Cuando falta memoria, Linux detiene un proceso, a menudo el más grande: la base de datos. Un servicio que se reinicia solo es la primera señal que vigilar.
  6. Elija un tamaño que le permita crecer sin reinstalar: las necesidades de una aplicación en producción aumentan con sus datos.

La regla: sumar lo que permanece en memoria

Un servidor no consume memoria «en general»: cada programa en ejecución reserva una parte mientras funciona. El cálculo parte, por tanto, de la lista de procesos presentes de forma permanente, y después añade el pico y un margen:

Memoria que prever = (sistema + servicios permanentes + pico de las tareas puntuales) × 1,25

Lo que consume cada componente

Los órdenes de magnitud siguientes valen para una aplicación de tamaño habitual, medida en producción. Son un punto de partida; la medición sobre su propia aplicación, descrita más abajo, tiene siempre la última palabra.

ComponenteMemoria típicaQué la hace variar
Nginx, Caddy (servidor web, proxy)10 a 50 MBCasi fija: el número de conexiones pesa poco.
PHP-FPM (WordPress, Laravel, Symfony)40 a 80 MB por procesoEl número de procesos, limitado por pm.max_children: 10 procesos, de 400 a 800 MB.
Node.js (API, Next.js, NestJS)60 a 300 MB por procesoEl número de procesos (modo clúster, PM2) y el tamaño del heap, limitado por --max-old-space-size.
Python (Django, FastAPI, Flask)80 a 200 MB por procesoEl número de workers de Gunicorn o Uvicorn, y las bibliotecas cargadas: pandas o un modelo de aprendizaje automático añaden cientos de MB.
Java (Spring Boot)300 MB a 1 GB por aplicaciónEl tamaño máximo del heap: por defecto, la JVM se asigna la cuarta parte de la memoria que ve.
Go, Rust10 a 100 MBLos datos que la propia aplicación mantiene en memoria.
PostgreSQLEl 25 % de la memoria para shared_buffers, más unos pocos MB por conexiónEl volumen de datos consultados con frecuencia, el número de conexiones, work_mem.
MySQL, MariaDBinnodb_buffer_pool_size, 128 MB por defectoEn un servidor dedicado a la base de datos, este búfer ocupa habitualmente hasta el 80 % de la memoria.
RedisEl tamaño de los datos, más sus estructurasDurante un guardado en disco, las páginas modificadas se duplican: hasta el doble en el peor caso.
Elasticsearch, OpenSearchAl menos 2 GB para el heapEl heap se queda por debajo de la mitad de la memoria: el resto sirve de caché de archivos.

Hay un pico que se repite a menudo con las aplicaciones JavaScript: la compilación. npm run build en un proyecto Next.js, Nuxt o Angular pide habitualmente de 1 a 2 GB por sí solo, durante unos minutos, además de lo que ya está en marcha. Compilar en el servidor obliga a dimensionar para ese pico; compilar en su equipo o en su integración continua y subir solo el resultado lo evita.

El mismo razonamiento vale para los contenedores Docker: cada contenedor es un conjunto de procesos como los demás, y el demonio de Docker añade su propio consumo. docker stats muestra lo que ocupa cada uno.

Perfiles tipo

Estos perfiles suman los componentes anteriores, pico y margen incluidos. Suponen una aplicación de tamaño habitual y el tráfico de un lanzamiento; una base de datos voluminosa o un tráfico sostenido desplazan la cifra hacia arriba.

Lo que se ejecuta en el servidorMemoria que prever
Sitio estático, proxy, pequeño bot o script programado1 a 2 GB
Un sitio WordPress con MariaDB y una caché de páginas2 GB
Una tienda WooCommerce, o varios sitios WordPress4 GB
Una API Node.js o Python con PostgreSQL, primeros usuarios4 GB
Una aplicación Next.js compilada en el servidor, su API y su base PostgreSQL6 a 8 GB
Varias aplicaciones en contenedores, preproducción y producción8 GB
Una base de datos de varias decenas de GB, consultada intensivamente16 GB o más
Un modelo de lenguaje de 7 a 8 mil millones de parámetros ejecutado en el servidor16 GB

Una aplicación que llama a un modelo de IA por API (OpenAI, Anthropic, Mistral) se dimensiona como cualquier aplicación web: el modelo se ejecuta en la infraestructura de su proveedor, y su servidor espera la respuesta. Es la ejecución del modelo en el propio servidor lo que cambia la escala.

Medir en un servidor en funcionamiento

En un servidor en servicio, la medición sustituye a la estimación. Tres comandos le dicen en qué punto está:

Terminal
free -h
ps aux --sort=-rss | head -n 15
vmstat 5 5

Mida en el momento de más carga del día y durante las tareas puntuales: compilación, copia de seguridad, importación. Lo que cuenta es el pico.

Cuando falta memoria

Un servidor sin memoria no se ralentiza de forma progresiva. Cuando ya no queda nada que liberar, el kernel de Linux activa el OOM killer (out of memory): elige un proceso, en general el que más memoria ocupa, y lo detiene en seco. En un servidor de aplicaciones, suele ser la base de datos.

Los síntomas: errores 502 o 503 intermitentes, un servicio que se reinicia sin motivo aparente, una compilación que se interrumpe con Killed. Los registros del sistema lo confirman:

Terminal
journalctl -k | grep -i "out of memory"
systemctl status nombre-del-servicio

En la salida de systemctl status, la mención Failed with result 'oom-kill' señala un servicio detenido por falta de memoria.

El swap, cuando el servidor dispone de él, retrasa ese momento trasladando a disco la memoria menos utilizada. Sirve de red de seguridad, no de capacidad: un servidor que se apoya en el swap de forma continua responde varias veces más lento, incluso sobre un SSD NVMe.

Los remedios, del más sencillo al más duradero: reducir el número de procesos de la aplicación (pm.max_children, workers de Gunicorn), compilar fuera del servidor, limitar la memoria de la base de datos y, después, pasar a un tamaño superior.

Elegir el tamaño y prever lo que viene

  1. Enumere lo que se ejecutará: servidor web, aplicación y número de procesos, base de datos, caché, tareas programadas.
  2. Sume con la tabla de componentes, añada el pico más pesado (a menudo la compilación) y, después, un 25 % de margen.
  3. Quédese con el tamaño que cubre ese total. Entre dos tamaños contiguos, el más pequeño es suficiente siempre que el paso al tamaño superior se haga sin reinstalar.
  4. Mida tras la puesta en línea, en el pico del día, y después en cada etapa de crecimiento de la aplicación.

La memoria no es el único recurso: el procesador cuenta para todo lo que calcula (compilación, tratamiento de imágenes, ejecución de un modelo de IA), y el disco para la base de datos y los archivos. Aun así, en una aplicación web es casi siempre la memoria la que fija el tamaño.

El tamaño adecuado, y la libertad de cambiarlo

El VPS Pro se ofrece en seis tamaños, sobre procesadores Intel Xeon, memoria ECC y SSD NVMe en espejo, y pasa al tamaño superior en cualquier momento, sin reinstalación. La Asistencia integral está incluida: descríbanos lo que ejecutará su servidor y le aconsejamos el tamaño; después, ante cada pregunta, diagnosticamos y le indicamos qué hacer, desde el sistema hasta el código de su aplicación.

Descubrir los VPS Pro

Preguntas frecuentes

¿Cuánta RAM necesita un VPS pequeño?

Un sitio estático, un proxy o un pequeño script funcionan con 1 a 2 GB. En cuanto una base de datos y una aplicación (PHP, Node.js, Python) comparten el servidor, cuente 2 GB para un sitio WordPress y 4 GB para una aplicación a medida con PostgreSQL.

¿Cuánta RAM necesita WordPress en un VPS?

2 GB para un sitio con MariaDB y una caché de páginas, 4 GB para una tienda WooCommerce o varios sitios. El número de procesos PHP-FPM es el primer ajuste: cada uno ocupa de 40 a 80 MB.

¿Puede el swap sustituir a la RAM?

No. El swap evita una parada brusca cuando la memoria está llena, pero un servidor que lo usa de forma continua responde varias veces más lento, incluso sobre un SSD NVMe. Es una red de seguridad; el tamaño se elige según la memoria.

¿Por qué free casi no muestra memoria libre?

Porque Linux usa la memoria no utilizada como caché de archivos. Esa caché se libera en cuanto un programa necesita memoria. La columna que hay que leer es available, que indica la memoria realmente disponible.

¿Cuánta RAM hace falta para compilar una aplicación Next.js?

Cuente de 1 a 2 GB solo para la compilación, además de lo que ya se ejecuta en el servidor. Compilar en su equipo o en su integración continua, y subir solo el resultado, evita ese pico.

Contáctenos