我想在启动程序时设置Xmx参数。如果我将它设置为1408M,则JRE启动正常。如果我将它设置为1536M,我得到Java堆空间 - 不能足够大
"Could not create the java virtual machine".
据我所知,它试图保留连续的存储空间,但我上运行,该机拥有16GB的内存和13GB这目前是免费。我正在运行的程序已经没有了堆空间并且崩溃了。有什么我可以解决这个问题吗?
我想在启动程序时设置Xmx参数。如果我将它设置为1408M,则JRE启动正常。如果我将它设置为1536M,我得到Java堆空间 - 不能足够大
"Could not create the java virtual machine".
据我所知,它试图保留连续的存储空间,但我上运行,该机拥有16GB的内存和13GB这目前是免费。我正在运行的程序已经没有了堆空间并且崩溃了。有什么我可以解决这个问题吗?
由于寻址限制以及出于其他原因需要使用内存,32位JVM限制在大约1.5 GB的堆空间。在Windows上,2 GB分配给进程,0.5用于非堆内存。如果您可以在Windows Server或Linux上使用PAE,则可以分别处理3 GB或4 GB的数据。
否则使用64位JVM。
这是一个32位的JVM吗? – hexafraction
您无法使用Java 32位分配超过1.5GB的内存。 – NINCOMPOOP