2012-07-09 7 views
7

JVM 6のドキュメントによると、サーバクラスのマシンはデフォルトで1/4 RAMまたは1GBの初期ヒープサイズを受け取ります。当社のSolaris 64Bitサーバーが64 GBであることを考慮すると、初期ヒープサイズはデフォルトで256 MBになります。したがって、私は手動で4GBのXMXパラメータを使用してヒープサイズを設定する必要があります。しかし、 "-Xmx4096M"を追加すると、Tomcatは起動しません。エラーメッセージは次のとおりです。本当に大きなJVMヒープサイズを設定するには?

Invalid maximum heap size: -Xmx4096M 
The specified size exceeds the maximum representable size. 
Could not create the Java virtual machine. 

ヒープが4GBまで拡張できるようにするには、どのようなコマンドラインパラメータが必要ですか?

+0

使用しているオペレーティングシステムは?古いOSの中には、プロセスが2ギガ以上を持つことを許さないものがあります。 – John

+0

Solaris(私はちょうど上記の質問を更新しました) – Pomario

+1

あなたは64ビットのjv​​mを実行していますか? –

答えて

7

あなたのご意見ありがとうございます!しかし、私のjava -versionの出力は、それが64ビットであることを意味するmixed modeを言います。実際のソリューションは、-d64を追加して64ビットで実行するようにして、4GBを割り当てます。

+7

それが示されています事実「混合」モードは、32ビットまたは64ビットのJVMを持っているという事実とは関係ありません。これは、JVMが「コンパイル」と「解釈」の2つの実行モードを混在させることを意味します。 –

4

私の解決策は、32bit JVMを使用しているため、4GB(非包括的な)以上のアドレスには対応できません。 64ビット版をインストールしてみてください

4

java -versionの出力によれば、32ビットJVMがインストールされています。 64ビットの場合は、Java HotSpot(TM) 64-Bit Server VMのようになります。

64ビットJVMをインストールすると問題が解決します。

0

-Xmx1024M -XX:MaxPermSize = 256M

+0

コードの書式設定と完全なコマンドラインを使用すると、この回答がはるかに良くなります。 – jpaugh

関連する問題