How much RAM Minecraft needs, and how to allocate it properly

How much memory to give it based on what you play, why giving it too much makes things worse, and why in Bedrock this setting does not exist at all.

A 4 GB RAM module next to the Java -Xmx4G argument

First, because the question gets asked wrong

"How much RAM does Minecraft need" has two different answers depending on which Minecraft you play, and mixing them up causes half the confusion floating around:

  • Minecraft Java Edition runs on a virtual machine. That machine reserves a block of memory up front and the game lives inside it. You decide how big that block is. Here there is something to tune.
  • Minecraft Bedrock — the Microsoft Store one, the same edition that runs on consoles and phones — is written in C++. It asks the system for memory when it needs it and gives it back when it does not. There is nothing to tune, no hidden setting, no trick.

If you came here looking for how to allocate RAM to Bedrock, the answer is that you cannot. Not because it is hard: because the setting does not exist. Every video or guide showing you how is talking about Java without knowing it, or inventing. If Bedrock runs out of memory, what you lower is render distance, which is what decides how much world is loaded.

So from here on we are talking about Java. If you play Bedrock, what helps you is in the optimization guide linked at the end.

How much to ask for, by what you play

These numbers are memory allocated to the game, not memory your PC has:

  • Vanilla, no mods: 2 to 4 GB. And 4 is generous. The game without mods does not need more, however often the opposite gets repeated.
  • With shaders or large texture packs: 4 to 6 GB. High resolution textures genuinely take space.
  • With mods, up to around a hundred: 6 to 8 GB.
  • Large modpacks, the two or three hundred mod kind: 8 to 10 GB. Past that, memory stops being the problem.
  • Your own server on the same PC: add the server's share separately. The server and the client are two programs and each asks for its own.

The rule that matters more than the table

Never give Java more than half the RAM you have installed.

The reason: what you allocate is only the main heap. Java also uses memory outside that block, and Windows needs its own. If you have 8 GB and give Minecraft 6, the system runs short and starts using the disk as memory — which is exactly when the game goes from fine to freezing every so often.

With 8 GB installed: 4 at most. With 16: 8. With 32: you could go higher, but as you are about to see, you almost never should.

Why giving it too much makes it worse

This is the counterintuitive part, and the reason "give it everything you have" is bad advice.

Java does not free memory by hand: it has a garbage collector that periodically walks everything reserved and keeps what is still in use. While it does that, the game stops for an instant.

And that instant scales with the size of the block. Give it 12 GB and the collector has 12 GB to walk. Give it 4 and it has 4.

The practical result is that a vanilla install with 12 GB allocated can give you half-second freezes every so often, while at 4 GB it runs smooth. Average FPS might even look similar; what changes is that stutter appears where there was none.

So the rule is: allocate what the game needs plus a little headroom. Not what you own. It is one of the few things in a PC where overshooting costs you something instead of being harmless.

How to tell you got it wrong

Signs it is too little

  • The game closes on its own and the log shows OutOfMemoryError.
  • Stutter that gets steadily worse as you play and clears up on restart.
  • It hangs when entering a big world or loading a modpack.

Signs it is too much

  • Short, regular freezes every few seconds even though FPS looks fine.
  • The rest of the PC crawls while you play.
  • Windows starts using the disk as memory, and you can hear it.

To see how much you have installed: Ctrl+Shift+Esc for Task Manager, Performance tab, Memory section. It shows the total and how much is in use right now.

How to allocate it

The setting is an argument passed to Java at startup. The two that matter:

  • -Xmx is the maximum. It is the one you almost always touch. -Xmx4G is 4 GB.
  • -Xms is what it reserves at startup. Setting it equal to the maximum avoids Java having to grow the block mid-session, which is an avoidable pause.

In the official launcher

  1. Open the launcher and go to Installations.
  2. Hover the installation you use and click the three dots → Edit.
  3. At the bottom, More options.
  4. Under JVM arguments you will see something starting with -Xmx. Change that number.
  5. Save and launch.

Change only the -Xmx. The rest of that line is garbage collector tuning that ships set sensibly. Deleting it because "it looks confusing" is the fastest way to make worse the thing you came to fix.

If you would rather not fight with arguments

Hand-editing an argument line is easy to break: one extra space, a lowercase G, an argument deleted by accident, and the game will not start without telling you why. A launcher that lets you pick RAM per profile does the same job without that part — it is one of the things JuanseCraft does, linked below.

Three things that get confused with this

RAM does not give you FPS

Said above, but worth repeating because it is the most common misunderstanding. Frames per second come from the CPU and the graphics card. Memory only decides whether the game can hold what it needs. Once there is enough, more does nothing.

32-bit Java cannot use more than 4 GB

Set -Xmx8G on a 32-bit Java and it will not start. It is rare nowadays, but if it happens to you, that is the reason: install the 64-bit version.

The Java version matters, and is not the same as memory

Each Minecraft version requires a minimum Java version. If they do not match, the game will not start — and the error will not say "you need Java", it will say something else entirely. If you changed RAM and now it will not open, check you did not change something else along the way.

The summary, in three lines

  • Bedrock: nothing to allocate. Lower render distance.
  • Java vanilla: 4 GB. Done.
  • Java with a big modpack: 8 GB, and never more than half of what you have installed.

Frequently asked questions

How much RAM should I give Minecraft Java?

Vanilla, no mods: 2 to 4 GB and that is plenty. With around a hundred mods: 6 to 8 GB. Heavy modpacks: 8 to 10 GB. And never more than half of what you have installed.

How do I allocate RAM to Minecraft Bedrock?

You cannot, and it is not your fault: that setting does not exist in Bedrock. Bedrock is written in C++ and manages its own memory. Any guide or video telling you how to allocate RAM to it is talking about Java without realising, or simply making it up.

Does more RAM increase FPS?

No. RAM does not draw frames — your CPU and GPU do. What RAM fixes is out-of-memory crashes and loading stutter. If FPS is what you are after, the setting that matters is render distance.

What happens if I give it too much?

It gets worse. Java's garbage collector has to walk the whole allocated heap, and the bigger it is, the longer the pauses. Giving 12 GB to a vanilla install can produce half-second freezes you did not have at 4 GB.

Should I buy more RAM?

If you have 8 GB and play vanilla, no — you will notice nothing. If you have 8 GB and want big modpacks, going to 16 does help. And if you have 4 GB, going to 8 is one of the cheapest upgrades there is, for everything and not just Minecraft.

You might also need