SUSE と JDK 1.4.x で発生している問題について教えていただければ幸いです。私の SUSE は 15Gb RAM で PAE 対応です。残念ながら、jvm は 1900Mb を超えるヒープ サイズを割り当てることができません。したがって、 java -Xmx2048m でエラーが発生します。同じ問題が発生したようですが、解決しましたか?そうだといい :)
ありがとうミケランジェロ
SUSE と JDK 1.4.x で発生している問題について教えていただければ幸いです。私の SUSE は 15Gb RAM で PAE 対応です。残念ながら、jvm は 1900Mb を超えるヒープ サイズを割り当てることができません。したがって、 java -Xmx2048m でエラーが発生します。同じ問題が発生したようですが、解決しましたか?そうだといい :)
ありがとうミケランジェロ
JVM は単一の連続したメモリ ブロックに制限されているため、実際には必要のないプロセスをシャットダウンすることで、システムからさらに数 MB を微調整できるかもしれませんが、大幅な増加を確認する唯一の方法は、 64 ビット JRE を使用して 64 ビット オペレーティング システムにアップグレードします。
更新:関連する質問が Stack Overflow にあり、いくつかの適切な回答があります: What is the Maximum Java Heap Space for SuSE Linux
JDK 1.4 では、運が悪いと思います。これは 32 ビット JVM です。より新しいバージョンの Java に更新する必要があります。
-mx1960m を使用できるはずですが、実際には 2GB は使用できません。http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4435069を参照してください。
複数の JVM を実行して、この「制限」を回避します (しかし、なぜそんなに多くのヒープ サイズが必要なのですか?)。
または、Java 1.5 に更新して、32 ビット JVM の理論上の 4GB 制限に到達します。これは、実際にははるかに低くなる可能性があります ( http://forums.sun.com/thread.jspa?threadID=5207549&start=15を参照)。しかし、繰り返しになりますが、なぜそんなに多くのヒープ サイズが必要なのですか?
いくつかの更新: - この SUSE マシン (jvm ヒープの最大サイズは 1960m) では、それぞれ 10Mb のいくつかの malloc で 3.6Gb のヒープを割り当てることができます (C プログラミング)。だから私にはかなり奇妙に聞こえます。- 同じ jdk1.4.2 を使用する別の RH4 では、次を割り当てることができます: /usr/local/jdks/j2sdk1.4.2_16/bin/java -Xmx2648m 成功!! この RH4 の実際の RAM を知っていますか? わずか1024Mb!!! - SUSE9 と RH4 の両方で PAE が有効になっています (VMWare を使用しているため、RAM 設定を簡単に変更できました)。
つまり、SUSE に関連する問題のようです。