1

非常にメモリを消費するプログラムがあり、-Xmx2048m を使用して Java jvm により多くの最大メモリを割り当てると考えられています。しかし、開始時に「オブジェクト ヒープに十分なスペースを予約できませんでした」というエラーが表示されます。

いくつかの値を試してみて、自分の最大の値がそこにある-Xmx1560mことに気づき、それが始まります。しかし、私は2GBを割り当てるのが好きです。6GB の物理メモリがあり、-Xmx1560m で Java プロセスを開始した後、Taskmanager は 3400MB の空き容量を示します。

2GB を割り当てられない理由を知っている人はいますか?

4

1 に答える 1

1

32 ビット ウィンドウでは、プログラムの連続メモリが約 1.2 ~ 1.5 GB に制限されます。この制限は、64 ビット OS を使用しているが、32 ビット JVM 用に 32 ビット環境をエミュレートしている場合でも適用されます。

この制限を回避する方法は、64 ビット OS と 64 ビット JVM を使用することです。購入した Windows のフレーバーによっては、制限がはるかに高くなります。Professional エディションは 192 GB に制限されています。

于 2013-07-26T22:23:42.277 に答える