Javafx 64位应用程序只能分配1 GB Ram

时间:2016-09-16 06:43:49

标签: java memory javafx javafx-8

这是一个问题,一段时间以来一直困扰着我们的客户。尽管我们提供了一个64位JavaFX桌面应用程序,其JVM选项设置为:

[JVMOptions]
-Xmx5120m

Runtime.getRuntime().maxMemory()大约只返回1 GB,尽管客户端有16 GB的RAM可用。

通过使用64位运行时提取存档来部署应用程序,并使用fx:deploy ant任务进行构建。不幸的是,我们无法在任何时候重现此错误。

是否还有其他可能限制Java应用程序可以使用的内存?客户使用某种虚拟化系统,如citrix receiver和Windows 7.这可以对它产生影响吗?我还读到,由于Windows注册表项,可以限制应用程序可以使用的内存量吗?

任何帮助都很受欢迎,因为我们对如何解决这个问题的想法已经不多了。

附加信息:为了收集更多信息,我们在应用程序中编写了一个诊断工具,它与apache诊断程序类似。它表明我们的-Xmx参数似乎被覆盖了:

diagnostics.vmInfoStartup:
  -Djava.library.path=K:\PATH\APPLICATION\app;K:\PATH\APPLICATION\
  -Djava.launcher.path=K:\PATH\APPLICATION\
  -Dapp.preferences.id=FxApplication
  -Xmx5120m
  -Xmx1024m

但第二个-Xmx1024m限制来自哪里?用户启动从我们的fx ant任务部署的EXE,没有任何其他参数。

0 个答案:

没有答案