【问题标题】:Java Invalid Maximum Heap Size for Windows Remote DesktopWindows 远程桌面的 Java 最大堆大小无效
【发布时间】:2015-03-03 05:31:35
【问题描述】:
我在 Windows 服务器(32 位,12GB RAM)上运行 Java 应用程序
-Xmx8g 我收到一个错误提示
最大堆大小无效。
指定的大小超过了可表示的最大大小。
但相同的应用程序正在我的本地计算机(64 位、win-7、6GB RAM)上使用相同的 -Xmx8g 命令运行。
我没有更改服务器操作系统的选项。有没有办法解决这个问题?
【问题讨论】:
标签:
java
out-of-memory
remote-desktop
【解决方案1】:
对于 32 位窗口,地址空间不能大于 4GB。默认情况下,其中一半是为操作系统保留的,因此 JVM 可用的最大内存为 2GB。为堆栈和其他本机内存保留一些,最大堆大小最终约为 1.5GB。
在 Windows 上使用 /3G-switch 可能会将该限制增加 1GB(因为它将操作系统存储限制为 1GB),但这就是 32 位操作系统中可能的最大值(并且具有一般是 32 位 JVM)。