java - 哪些 JVM 选项优先?

标签 java memory jvm arguments

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

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

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

enter image description here

是否存在某种优先顺序来规定多次指定同一选项时使用哪个设置(并保证总是选择相同的设置)?

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

最佳答案

检查你是否可以做到这一点

-Xms128m
-Xmx256m
-Xmx2g

然后

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

如果第一个选项被选中,它将 OOM,否则它将继续,并显示总内存 > 256m

关于java - 哪些 JVM 选项优先?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25658360/

相关文章:

c - 将数据写入 C 中另一个程序的指针?

java - 通过正则表达式使用 'contains check'

c++ - 如何增加应用程序数据的虚拟内存页面文件的大小

c - 标记化字符串循环内存错误

Java 字节码签名

java - Android Studio - 找不到 JVM 安装

java - Websphere caconfiguration/IBM JVM : pure java works much more slower that in tomcat

java - 主屏幕小部件中的自定义布局

java - org.hibernate.id.IdentifierGenerationException : while saving data in one to one mapping

java - Android - 在 map.png 上寻路