0

使用: -Xms1000M -Xmx4000M -mx1000m まだ java.lang.OutOfMemoryError: Java heap space が発生する

jai-imageio ライブラリを使用して 100Mb の JPEG2000 ファイルを読み込んでいますが、imageio lib によって解凍されると、1Gb を超えるヒープ領域が必要になる場合があります。32 ビット Windows JVM を使用しているため、1G を超えるヒープ領域を作成できません。

この投稿を参照してください: java- OutOfMemoryError with -Xms1000M -Xmx4000M -mx1000m

それで、JVMにラムメモリの代わりにヒープメモリにファイルを使用するように指示する方法はありますか(32ビットウィンドウでも1Gbを超えるヒープスペースを持つことができるようにするため)?

4

1 に答える 1

4

これは、オペレーティング システム (およびアドレスのビット数) の制限です。64 ビット OS と 64 ビット JVM を使用する必要があります。

スワップ領域に追加すると、JVM がこのファイルをスワップ領域として使用できるようになります。注: これを行うと、パフォーマンスが 10 倍以上低下する可能性があります。

32 ビット ウィンドウでは、1.2 GB から 1.5 GB のヒープを取得できるはずです。

同様の質問がここで尋ねられました。-XX:MaxPermSize のサイズは、4GB と 8GB の RAM について言及でき、その計算はどれくらいですか?

于 2012-04-22T09:57:58.740 に答える