Minecraft Java Heap Space OutOfMemoryError: Fix Crashes Safely
If Minecraft Java Edition closes with java.lang.OutOfMemoryError: Java heap space, the game reached the maximum heap size allowed for its Java process. Check the existing -Xmx value, raise it only when your computer or server has enough available memory, and reduce the workload if the crash continues. Assigning more RAM blindly can cause a different memory failure or leave too little for the operating system.
What “Java heap space” means
The Java heap is the memory pool the Java Virtual Machine (JVM) uses for objects created while Minecraft runs. The JVM option -Xmx sets the heap’s maximum size; -Xms sets its initial size. These values are ceilings and starting points for the Java process, not a guarantee that the same amount of physical RAM is free for Minecraft at all times.
This message is different from a computer running out of all available RAM, a hosting panel killing a process, a graphics-memory error, or a “Can’t keep up!” server warning. Those problems can look similar during play, but changing -Xmx will not necessarily fix them. Minecraft’s current support guidance says an allocation mismatch can contribute to crashes, lag, and stuttering, and points Java Edition players to the Launcher’s JVM arguments. Read the Minecraft memory-allocation troubleshooting guide.
Confirm the error before changing settings
- Look for the exact line
java.lang.OutOfMemoryError: Java heap space in the crash report, latest.log, or server console.
- Note whether it happens in one world, after exploring new terrain, with a modpack, or only when several players are online.
- If the process disappears without a Java heap error, check the operating system or hosting panel for an out-of-memory kill. A host’s memory cap can be lower than the server’s configured heap plus the memory Java needs outside the heap.
- Back up a single-player world or server world before changing mods, loaders, or server files.
Repeated freezes or stutters can accompany memory pressure, but they do not prove that the Java heap is full. Treat the crash report or host log as the deciding evidence.
Step 1: Set a sensible heap size for the client
- Open the Minecraft Launcher and go to Installations.
- Edit the profile you actually use, then open More Options and find JVM Arguments. The Launcher layout can change; use Minecraft’s support instructions if the labels differ.
- Find the existing
-Xmx setting. Change that value instead of adding a second -Xmx or replacing the whole argument field.
- Save the profile, launch Minecraft, and check whether the same world or activity still triggers the error.
For example, -Xmx4G sets a maximum heap of 4 GB. It is an example, not a universal recommendation. A vanilla installation may need less than a large modpack, while a pack’s maintainer may publish a specific memory range. Increase the maximum in a measured step only if the machine has room. Leave memory for the operating system, the Launcher, voice chat, browsers, and Java’s non-heap needs.
Mojang’s published system requirements list 16 GB of system RAM as the recommended baseline; that is total computer memory, not an instruction to give Minecraft a 16 GB heap. On a lower-memory computer, do not assign nearly all physical RAM to -Xmx. If the game is already using a reasonable heap and the error points to one mod, test a compatible, updated mod set before raising the limit again.
Step 2: Match the Java runtime to the Minecraft version
Use the runtime supplied or selected by the official Launcher for the game version, unless the Minecraft or mod-loader documentation tells you to configure another supported runtime. A mismatched or manually overridden Java executable can make troubleshooting harder. As one version-specific example, Mojang’s Minecraft Java Edition 26.1 release notes say that release requires Java 25; do not apply that requirement to every older release. Check the official 26.1 release notes and the requirements for the version you are actually launching.
Update Minecraft and the relevant loader or mods from their official sources. If the crash began immediately after an update, test a copy of the world with the last known compatible mod set rather than opening your only world with a different version.
Step 3: Size a server heap below its real memory limit
For a self-hosted Java server, edit the startup command or script—not server.properties—to set heap options. A small illustrative command is:
java -Xms2G -Xmx4G -jar server.jar nogui
Replace server.jar with the actual server file name and choose values that fit the host. -Xms2G is the initial heap in this example; -Xmx4G is its maximum. The process also needs memory outside the Java heap, so the host’s total memory limit should be higher than -Xmx. For a managed host, check the plan’s limit and startup settings instead of assuming the displayed player count determines memory needs.
Paper’s troubleshooting guidance notes that a server can be killed when a hosting-panel limit is too close to -Xmx; it suggests lowering the maximum by 1–2 GB as an initial diagnostic or asking the host about the limit. That advice applies to a process killed by the host, which is not the same message as a Java heap-space exception. See Paper’s server troubleshooting documentation.
Step 4: Reduce the workload that fills memory
- Lower render distance: Try a shorter client view distance, especially while exploring or loading a large world.
- Lower server distances: On Paper, review
view-distance and simulation-distance in server.properties. These control the server’s chunk sending and simulation ranges; reduce them gradually and monitor gameplay. See the Paper server-properties reference.
- Isolate mods: Temporarily test a backed-up copy with no mods, then restore compatible mods in small groups. A crash that returns with one group narrows the search. Do not assume every performance mod reduces Java heap use.
- Check packs and shaders: Temporarily disable high-resolution resource packs or shaders when diagnosing. Some graphics features use GPU or native memory, so more Java heap may not address their failure.
- Review server load: If the error follows a particular area or player surge, examine loaded chunks, entities, plugins, and the host’s memory graph. Remove or update a problematic plugin only after checking its compatibility and backing up the world.
Step 5: Keep JVM changes simple and verify the result
Do not paste a long bundle of experimental garbage-collection flags from an old guide as a first fix. Modern Java already selects a garbage collector and manages heap behavior; flags cannot make physical RAM appear, and a different collector cannot repair a mod leak or a host limit. Oracle documents -Xmx as the maximum heap setting and explains that garbage-collection tuning depends on the application and available memory. See the Java command reference.
After each change, fully restart the game or server and reproduce the same activity. Change one setting at a time and note the result. If the exact heap error persists with a conservative but adequate maximum, save the crash report and look for the first mod or Minecraft class named in the stack trace. If there is no Java heap error, investigate the operating system, GPU, launcher, or hosting panel instead of continuing to increase -Xmx.
Frequently asked questions
Does allocating more RAM always fix Minecraft’s OutOfMemoryError?
No. Raising -Xmx can help when the Java heap ceiling is too low and the machine has unused memory. It will not fix a leaking mod, an operating-system kill, a hosting quota, or a graphics-memory problem.
Should I set -Xms equal to -Xmx?
Not automatically. -Xms sets the initial heap and -Xmx the maximum. Keep the Launcher’s other arguments unless you know why they need to change; Minecraft does not require every player to make these values identical.
Why does a server crash even when -Xmx is below the host’s plan limit?
Java uses memory outside the heap, and the operating system and other services also need RAM. Check the host’s actual process or container limit and its kill logs. Ask the provider to confirm the available memory if its panel does not expose those details.