Windows 上每个 Java 进程的最大内存量?

2023-12-01

在 32 位 Windows 上可以为 Java 进程分配的最大堆大小是多少-Xmx?

我这样问是因为我想使用 ETOPO1 数据OpenMap原始二进制浮点文件约为 910 MB。


没有什么比实证实验更好地回答你的问题了。 我编写了一个 Java 程序并在指定 XMX 标志的同时运行它(还使用 XMS=XMX 来强制 JVM 预分配所有内存)。 为了进一步防止 JVM 优化,我主动分配了 X 个 10MB 对象。 我在使用 Sun 和 IBM JVM 的不同 32 位操作系统上对多个 JVM 进行了多次测试,增加了 XMX 值并增加了分配的 MB 数,以下是结果摘要:

操作系统:Windows XP SP2,JVM:Sun 1.6.0_02,最大堆大小:1470 MB
操作系统:Windows XP SP2,JVM:IBM 1.5,最大堆大小:1810 MB
操作系统:Windows Server 2003 SE,JVM:IBM 1.5,最大堆大小:1850 MB
操作系统:Linux 2.6,JVM:IBM 1.5,最大堆大小:2750 MB

以下是详细的运行尝试以及分配类帮助程序源代码:

WinXP SP2、SUN JVM:



C:>java -version
java version "1.6.0_02"
Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode)  

java -Xms1470m -Xmx1470m Class1 142 ... 即将创建对象 141 对象 141 已创建

C:>java -Xms1480m -Xmx1480m Class1 145 VM初始化期间发生错误 无法为对象堆保留足够的空间 无法创建Java虚拟机。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 上每个 Java 进程的最大内存量? 的相关文章

随机推荐