Error "OutOfMemoryError: Java heap space" en Minecraft
Si tu servidor se cierra de golpe y la consola o el crash report muestran:
java.lang.OutOfMemoryError: Java heap spaceel servidor se ha quedado sin memoria RAM. Java ya no tiene sitio para guardar lo que necesita y se detiene.
Qué significa
Sección titulada «Qué significa»El servidor de Minecraft funciona sobre Java, y Java solo puede usar la memoria que se le asigna: el heap. En MineHost, ese límite es la RAM de tu plan. Cuando el uso llega al tope y Java no consigue liberar espacio, aparece este error.
Antes del cierre suele haber avisos: lag que empeora, pausas de varios segundos y mensajes de Can’t keep up. Una variante del mismo problema es GC overhead limit exceeded: Java pasa casi todo el tiempo intentando liberar memoria.
Qué consume la memoria
Sección titulada «Qué consume la memoria»- Mods y plugins: cada uno añade su propio uso. Los modpacks grandes necesitan bastante más que un servidor Paper.
- Chunks cargados: cuantos más jugadores exploran a la vez y más alta es la
view-distance, más mundo hay en memoria. - Entidades: granjas enormes, objetos tirados y aldeanos amontonados.
- Una fuga de memoria: un mod o plugin con un fallo que nunca libera lo que usa. Se reconoce porque la memoria sube sin parar aunque no pase nada en el juego.
Cómo solucionarlo
Sección titulada «Cómo solucionarlo»-
Instala spark (plugin para Paper o mod para Forge y Fabric) y, con el servidor en marcha, escribe:
spark healthTe muestra cuánta memoria se usa y cuánta hay disponible.
-
Si sospechas de un mod o plugin concreto, mira qué ocupa la memoria:
spark heapsummaryAbre el enlace que te da. Las clases con más memoria suelen pertenecer al mod o plugin culpable.
-
Reduce lo que no necesitas: baja
view-distanceysimulation-distanceen server.properties, limita las granjas grandes y pregenera el mundo para que explorar cueste menos. -
Si el uso sube sin parar sin motivo, actualiza o quita el mod o plugin que señaló spark.
-
Si el servidor simplemente necesita más de lo que tiene, amplía la RAM. La calculadora de RAM te dice cuánta necesitas según tus jugadores y mods.
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»Tengo mucha RAM y aun así aparece el error
Sección titulada «Tengo mucha RAM y aun así aparece el error»Es probable que haya una fuga de memoria. Revisa con spark heapsummary qué está creciendo, sobre todo justo antes del cierre. Que el error aparezca siempre tras el mismo tiempo de juego es otra señal.
¿Un reinicio diario lo soluciona?
Sección titulada «¿Un reinicio diario lo soluciona?»Ayuda a vaciar la memoria y aguanta más tiempo, pero no arregla la causa. Úsalo como apoyo mientras buscas qué consume la RAM.
El error dice “Metaspace” en lugar de “Java heap space”
Sección titulada «El error dice “Metaspace” en lugar de “Java heap space”»Es otra zona de memoria de Java, donde se guarda el código de los mods. Suele pasar con modpacks muy grandes. La solución también es dar más RAM al servidor o reducir mods.