Erb*_* Mo 4 java memory garbage-collection memory-management out-of-memory
如果我有一个较小的ram机器和一个较大的ram机器.我在它们上运行相同的java代码.jvm会在更大的ram机器上更懒惰地进行垃圾收集吗?
我试图解决的问题是内存不足问题.人们报告他们在小型ram机器上有内存不足的问题.我想测试一下,但我现在唯一拥有的机器比他们的机器大得多.我想知道我是否在这个更大的ram机器上进行测试并跟踪内存使用情况,在小型ram机器上内存使用量是否相同,或者它将使用更少的内存?
谢谢!厄尔本
您需要查看JVM内存参数.实际上,您可以根据需要为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
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,您可以设置与另一台机器中相同的内存.所以你的机器不会占用比Xmx值更多的RAM
并且您可能还想检查此参数.
-XX:MaxNewSize= -> this need to be 40% from your Xmx value
-XX:NewSize=614m -> this need to be 40% from your Xmx value
Run Code Online (Sandbox Code Playgroud)
你也可以告诉你JVM使用什么类型的GC:
-XX:+UseConcMarkSweepGC
Run Code Online (Sandbox Code Playgroud)
因此,如果您在两台计算机中设置此参数,您将获得相同的结果和最可能的GC活动.