Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javafx 64位应用程序只能分配1 GB Ram_Java_Memory_Javafx_Javafx 8 - Fatal编程技术网

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

Javafx 64位应用程序只能分配1 GB Ram,java,memory,javafx,javafx-8,Java,Memory,Javafx,Javafx 8,这是一个问题,已经困扰了我们的客户一段时间了。尽管我们提供了一个64位JavaFX桌面应用程序,其JVM选项设置为: [JVMOptions] -Xmx5120m Runtime.getRuntime().maxMemory()虽然客户端有16 GB的可用RAM,但返回的内存大约只有1 GB 该应用程序通过提取存档和64位运行时进行部署,并使用fx:deployant任务构建。不幸的是,我们无法在任何时候重现这个错误 是否有其他可能限制Java应用程序可以使用的内存?客户使用某种虚拟化系统,如

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

[JVMOptions]
-Xmx5120m
Runtime.getRuntime().maxMemory()
虽然客户端有16 GB的可用RAM,但返回的内存大约只有1 GB

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

是否有其他可能限制Java应用程序可以使用的内存?客户使用某种虚拟化系统,如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时没有任何其他参数。

您是否有来自客户的“日志”文件,确认您的JVM确实使用了您希望使用的参数进行了调用?@GhostCat是的,我们有。已将相关日志信息添加到问题中。是否可以尝试使用
-XX:MaxHeapSize
-XX:MaxMetaspaceSize
?看见另外,可能有一个环境变量覆盖了您的设置?请看Xmx,您正在设置可用的最大值,可能这确实受到citrix环境的限制。如果您碰巧可以访问该环境,那么应该检查与exe启动器行为相同的正常java进程。