2

今日、JVM の初期化に関して奇妙な問題に遭遇しました。

2 つの異なる PC で同じ jar を開くコマンドを実行します。両方の PC の 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)

1台の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 コア 2 Duo 4 GB の DDR2 RAM に従っており、コンピューターのプロパティをクリックすると、4 GB の RAM が表示されます。

このマシンで上記のコマンドを実行すると、エラー メッセージが表示されます

「初期化中にエラーが発生しました」

-Xmx > 1200 を指定してコマンドを実行しようとすると、エラーが発生します。

最初のマシンよりも 2 倍の RAM があるのに、後のマシンで VM 初期化エラーが発生する理由がわかりません。

4

0 に答える 0