will java use more memory when running on machine with larger ram

garbage-collection, java, memory, memory-management, out-of-memory

Solution

You need to take a look at the JVM memory parameters. actually you can set the as much memory as you want to your JVM :

-Xmx2048m -> this param to set the max memory that the JVM can allocate
-Xms1024m -> the init memory that JVM will allocate on the start up
-XX:MaxPermSize=512M -> this for the max Permanent Generation memory

so in your case you can set the much memory as in the another machine. so you machine will not take more RAM than the Xmx value

and you may want to check this parameters also.

-XX:MaxNewSize=  -> this need to be 40% from your Xmx value
-XX:NewSize=614m -> this need to be 40% from your Xmx value

also you may tell you JVM what type of GC to use like :

-XX:+UseConcMarkSweepGC

SO if you set this parameters in the both machines, you will get the same results and the same GC activity most likely.

Problem

If I have a smaller-ram machine and a larger-ram machine. I run the same java code on them. Will jvm do garbage collection more lazily on the machine with larger ram? The problem I am trying to solve is an out of memory issue. People reported that they have Out of memory issue on small ram machine. I want to test that but the only machine I have now has a much larger ram than theirs. I am wondering if I do the test on this larger-ram machine and keep track of the memory usage, will the memory usage be the same on a smaller-ram machine or it will use even less memory? Thanks! Erben

Original source

Related problems