小编典典

无法将Java堆大小设置为大于1568

java

我正在运行具有以下属性的服务器:

Windows Server 2008 R2 Standard-64位4GB RAM

我正在尝试将应用程序的堆大小设置为3gb。我正在使用-Xmx3G -Xms3G标志。使用标志运行会导致以下错误:

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

我一直在玩设置,看我的天花板是多少,发现1568是我的天花板。我想念什么?


阅读 198

收藏
2020-11-26

共1个答案

小编典典

Java在启动时需要连续的虚拟内存。在Windows上,32位应用程序在32位仿真环境中运行,因此与32位OS相比,您获得的连续内存不会更多。cf在Solaris上,您可以获得超过3
GB的32位Java虚拟内存。

我建议您使用Java的64位版本,因为这将利用您拥有的所有内存。您仍然需要有可用的内存,但是较大的地址空间不会受到碎片的影响。

顺便说一句:堆空间只是所用内存的一部分,您需要用于共享库的内存,直接内存,GUI组件等。

2020-11-26