带有 -Xms8g 的 Wildfly 11 仅运行 400m

Wildfly 11 with -Xms8g runs with only 400m

我 运行在 VM Windows 机器和 jdk 1.8 上安装 Wildfly 11 JAVA_OPTS 设置在 standalaone.conf.bat 和

set "JAVA_OPTS=-Xms8g -Xmx8g -XX:MetaspaceSize=8g -XX:MaxMetaspaceSize=8g"

我 运行宁 standalone.bat 在 WILDFLY_HOME/bin 目录中,其他一切都保持默认。

当我 运行 任务管理器时,我看到 JVM 分配的最大内存为 400m。 不应该是8g吗?由于 xms 参数设置为 8g? 任何人都知道在 TAsk 管理器中期望看到 JVM 提供的内存是什么? 谢谢

这与JVM 有关。当您设置 -XMS 大小时,如果应用程序使用的内存小于 XMS 大小,JVM 不会强制使用内存。例如 "Hello world" 带有 -XMS8g 的应用程序,此应用程序永远不会使用 8gb 内存。 JVM一开始就保留Xms指定的内存,但是保留区和已用区是不一样的。此外,reservation不一定在物理内存中,也可以在swap中。

如果你想看到这个区域,你可以在Windows中用Resource Monitor看到。在 Resouce Monitor 中打开 内存 选项卡。您将看到两个部分,CommitWorking Set。你可以在这里看到区别。