对于64位JVM,JVM堆大小不会超过1.6 GB

时间:2017-01-20 11:55:36

标签: java jvm heap-memory

我有一台带有8 GB RAM的64位机器,Windows 7.我使用的是64位JVM。我仍然无法将最大堆大小设置为超过1600 M.我已经在stackoverflow上阅读了与此主题相关的几乎所有答案。

每当我尝试将最大堆设置为-Xmx2048M时,我得到:

  

VM初始化期间发生错误无法为对象堆保留足够的空间无法创建Java虚拟机。

我尝试使用_JAVA_OPTION系统变量设置最大堆大小,并通过:

运行 - >运行配置 - >参数路径。

两次我都得到同样的错误。 RAM几乎是免费的。

出了什么问题?

1 个答案:

答案 0 :(得分:0)

服务器JVM默认的初始和最大堆大小

默认的初始堆大小和最大堆大小在服务器JVM上的工作方式与在客户端JVM上的工作方式类似,不同之处在于,默认值可以更高。在32位JVM上,如果有4 GB或更多的物理内存,则默认的最大堆大小最多可以为1 GB。

  

在64位JVM上,如果存在以下情况,则默认的最大堆大小最大为32 GB:   有128 GB或更多的物理内存。

您始终可以通过直接指定这些值来设置更高或更低的初始堆和最大堆;请参阅下一节。

Oracle official documentation on Java 8 min/max heap