It may be that running minecraft just requires more than your allocating it. I know from experience, though under linux, java will eat mem esp if you dont give it enough to start out with. Should throw an exception when its out of heap, but that doesnt always happen
–
madmazeSep 19 '11 at 5:17

1 Answer
1

-Xmx only constrains the Java heap. The code itself, the JVM, OS DLLs, internal Java data structures and thread stacks all take additional memory. In your case, they apparently take more than 550 MB of RAM. No heap setting would bring the total under 256 MB.

However, note that the code parts may be shared across processes. A DLL that uses 5 MB of RAM in your process will generally use the same 5MB of RAM in another process.