2

我今天遇到了一个关于 JVM 初始化的奇怪问题。

我在两台不同的电脑上运行相同的 jar 打开命令,两台电脑都有相同的 java 版本,都是 32 位。

java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing)

一台PC具有以下配置

Windoex XP Service Pack 2 Amd Athelon 处理器 7750 双核 2 GB DDR2 RAM

如果我在 XP 机器上运行以下命令

java -Xms1200m -Xmx1500m -XX:MinHeapFreeRatio=40 -XX:MaxHeapFreeRatio=70 -jar my.jar

尽管这台机器只有 2GB 的物理 RAM,但 VM 可以成功打开我的程序而没有错误。

现在另一台 PC 的配置遵循 Windows Vista Home Edition Intel P4 core 2 Duo 4 GB of DDR2 Ram,当我点击我的计算机属性时,它显示了 4 GB RAM。

当我在这台机器上运行上面的命令时,它给了我一条错误消息

“初始化过程中发生错误”

如果我尝试使用 -Xmx > 1200 运行任何命令,那么它会给我错误。

我不明白为什么后面的机器会出现 VM 初始化错误,尽管它有双倍 RAM,然后是第一个?

4

0 回答 0