2015-03-03 50 views
0

我与 -Xmx8g运行Windows Server(32位,12GB RAM)上的Java应用程序,我得到一个错误说的Java无效的最大堆大小Windows远程桌面

无效的最大堆大小。 指定的大小超出了最大可表示的大小。

但是,同样的应用程序我的本地机器上运行(64位,赢得-7,6GB RAM)与同-Xmx8g命令。

我没有选择更改服务器的操作系统。有没有可能的解决方案?

回答

2

对于32位窗口,地址空间不能大于4GB。默认情况下,一半是为操作系统保留的,因此JVM的最大可用内存为2GB。为堆栈和其他本机内存预留一些内存,最大堆大小最终将达到大约1.5GB。

使用/3G -switch for windows可能会将该限制增加1GB(因为它将操作系统的存储空间限制为1GB),但这是32位操作系统中可能达到的最大值(并且使用32一般的JVM)。