哪些JVM选项优先?

时间:2014-09-04 06:10:08

标签: java memory jvm arguments

我遵循this answer以增加在系统范围内分配给JVM的内存量。就获取Java进程的设置而言,它似乎像宣传的那样工作。

但是,我想增加内存分配的Java进程实际上是由一个不透明的第三方进程产生的,该进程在创建Java进程时指定自己的内存选项(以及不提供它传递的选项的配置,因此需要系统范围的设置)。

所以会发生什么是两个设置都传递给Java进程。或者至少,当我使用approach described here查看JVM参数时,就会出现这种情况。我得到类似的东西:

enter image description here

是否有一些优先顺序指示在多次指定相同选项时使用哪个设置(并且可以保证相同的设置总是被选中)?

或者是否有其他方法可以检查实际应用的设置?

1 个答案:

答案 0 :(得分:2)

检查你可以做到这一点

-Xms128m
-Xmx256m
-Xmx2g

然后

// allocate 256m
byte[] array = new byte[ 256 * 1024 * 1024 ];
System.out.println(runtime.totalMemory());

如果它的第一个选项被拿起它将是OOM,否则它将继续并且它将显示总内存为> 256米