对于性能测试,我需要2 GB的堆内存,所以我在java设置中通过" -Xmx2048m"设置参数。并且还增加了虚拟内存......但是在运行应用程序时,它会出现错误,例如"无法加载java运行时环境"和#34;在同一进程中运行的几个JVM导致错误"(事实上,对于超过1 GB的任何值,它不会给出相同的错误)。 那么可以将堆内存设置为2 GB吗?或者它最多只能1 GB?如果有,怎么办? 我使用Windows 7,64位,RAM大小为8 GB ......并使用java 1.6
答案 0 :(得分:0)
由于您运行的是32位JVM,因此进程可以使用的内存数量有限制。由于虚拟内存的布局方式,32位进程只能访问2 GB内存(或者使用特殊设置最多可访问3-4 GB)。由于Java需要一些内存用于自己的簿记,而这不是应用程序可用的堆的一部分,因此-Xmx
的实际可用限制必须低于2 GB。根据{{3}},Windows上32位Java的限制为-Xmx1500m
(不确定它是否在较新版本中发生了变化,但由于上述限制,它必须低于2 GB,因此它和#39;可能已经停留在1500 MB)。