Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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
Java 64位JVM的JVM堆大小不超过1.6 GB_Java_Jvm_Heap Memory - Fatal编程技术网

Java 64位JVM的JVM堆大小不超过1.6 GB

Java 64位JVM的JVM堆大小不超过1.6 GB,java,jvm,heap-memory,Java,Jvm,Heap Memory,我有一台64位机器,内存为8GB,windows 7。我使用的是64位JVM。我仍然无法将最大堆大小设置为1600 M以上。我已经阅读了与stackoverflow主题相关的几乎所有答案 每当我尝试将最大堆设置为-Xmx2048M时,我都会得到: VM初始化期间出错,无法为对象保留足够的空间。堆无法创建Java虚拟机 我尝试过使用\u JAVA\u选项系统变量设置最大堆大小,也尝试过通过: 运行->运行配置->参数路径 这两次我都犯了同样的错误。RAM几乎是免费的 出了什么问题?服务器JVM默认

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

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

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

我尝试过使用
\u JAVA\u选项
系统变量设置最大堆大小,也尝试过通过:

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

这两次我都犯了同样的错误。RAM几乎是免费的

出了什么问题?

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

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

在64位JVM上,默认的最大堆大小可以高达32 GB,如果 有128 GB或更多的物理内存

通过直接指定这些值,始终可以设置较高或较低的初始堆和最大堆;见下一节


试试
-Xmx2048m
-Xmx2g
(小写的m和g)@mumpitz,这没什么区别。@Kayaman我记得有一次jvm在这个参数的末尾不需要大写字母。不过,我不记得是因为旧版本还是其他原因。你真的确定你使用的是64位JVM吗<代码>1600M听起来很像32位JVM的典型限制。您可以使用
-showversion
选项让JVM打印相关信息而不终止。如何启动应用程序?