Cómo arreglar «OutOfMemoryError: Java heap space» en Minecraft

Si tu servidor se cae con java.lang.OutOfMemoryError: Java heap space, Java se ha quedado sin memoria para lo que le pedías. Casi siempre tiene arreglo, y casi nunca es simplemente «comprar más RAM».

Cómo arreglar «OutOfMemoryError: Java heap space» en Minecraft
  • «Java heap space» significa que Java se quedó sin memoria asignada, no necesariamente sin RAM en el servidor.
  • Las causas habituales: poca RAM para la carga, un plugin o mod con fuga de memoria, o demasiadas entidades y chunks.
  • Primero identifica quién consume (informe de un profiler); subir la RAM sin más suele ser solo un parche.
  • Haz copia de seguridad antes de tocar nada y cambia una cosa cada vez.

Qué significa

Java reserva un espacio de memoria (el heap) con un máximo, el parámetro -Xmx. Cuando el servidor necesita más de ese máximo y el recolector de basura no puede liberar nada, lanza este error y suele cerrarse. No es lo mismo que otros dos errores parecidos: GC overhead limit exceeded (Java pasa casi todo el tiempo limpiando memoria) y unable to create native thread (falta memoria fuera del heap).

Las causas más habituales

  • -Xmx demasiado bajo para el software y los plugins que has instalado.
  • Un plugin o mod con fuga de memoria: va ocupando más y más hasta que se acaba.
  • Demasiados chunks o entidades cargados: distancia de visión alta, granjas enormes, mobs acumulados.
  • Mapas o mundos muy grandes cargados a la vez.
  • Un modpack pesado en un plan pequeño.

Paso 1: encuentra la causa en los logs

Abre logs/latest.log (y la carpeta crash-reports/ si existe) y busca OutOfMemoryError. Lo importante está unas líneas antes: suele aparecer el plugin o la acción que estaba ocurriendo (cargar un mapa, guardar el mundo, generar chunks). Apunta el nombre del plugin si aparece.

Paso 2: comprueba cuánta memoria tiene Java

Mira en el arranque el valor de -Xmx. Un ejemplo habitual es:

java -Xms5G -Xmx5G -jar server.jar nogui

Si tu plan tiene 6 GB, -Xmx5G es un buen tope: deja cerca de 1 GB libre para el sistema. Ponerlo igual al total del plan hace que el servidor se cierre por falta de memoria fuera del heap.

Paso 3: reduce lo que se carga

  • Baja view-distance y simulation-distance en server.properties (8–10 suele bastar).
  • Limita entidades por chunk en Paper o Purpur y revisa las granjas de mobs.
  • Pregenera el mundo para no generar chunks con jugadores dentro.

Paso 4: sospecha de un plugin

Si el error vuelve con el tiempo (cada pocas horas o días) aunque tengas memoria de sobra, casi seguro hay una fuga. Actualiza los plugins, prueba a quitarlos de uno en uno y usa un profiler como Spark (/spark heapsummary) para ver qué objetos ocupan la memoria.

Paso 5: si de verdad te falta RAM

Si todo lo anterior está bien y el servidor simplemente necesita más, sube de plan. Para saber cuánto, mira la guía de RAM o usa la calculadora.

Con una pregunta basta: pégale el log a MixelAI y te dice qué lo rompe.

Cómo te ayuda MixelAI con esto

En MixelNodes, MixelAI lee la consola y los archivos de tu servidor, encuentra la causa y, si está segura, propone el cambio (por ejemplo, ajustar el archivo de arranque). Antes de tocar nada guarda una copia del archivo y espera tu confirmación. Si no está segura, no toca nada y te pasa con una persona.

Preguntas frecuentes

¿Qué significa OutOfMemoryError: Java heap space?

Que el programa necesitó más memoria de la que Java tenía disponible y se detuvo. Es un fallo de memoria asignada a Java, no un fallo del hardware.

¿Subir la RAM lo soluciona?

A veces sí, si de verdad te faltaba. Si hay una fuga de memoria en un plugin, volverá a ocurrir tarde o temprano.

¿Puede MixelAI diagnosticarlo?

Sí: lee la consola y los archivos, busca la causa probable y propone el arreglo con copia de seguridad y tu confirmación.