PermGenを128M以上に設定すると、Sun JVMの初期化に失敗するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/1010986

  •  06-07-2019
  •  | 
  •  

質問

PermGenを増やす必要があります。現在、コマンドラインパラメーターとして次を渡します。

-XX:PermSize = 128m -XX:MaxPermSize = 128m

これは動作します。ただし、値を大きくしようとすると、JVMの初期化に失敗し、次のエラーが表示されます。

[2009-06-18 01:39:44] [情報] VMの初期化中にエラーが発生しました [2009-06-18 01:39:44] [情報]オブジェクトヒープに十分なスペースを予約できませんでした [2009-06-18 01:39:44] [情報] [2009-06-18 01:39:44] [395 javajni.c] [エラー] CreateJavaVMが失敗しました

具体的には、同梱の JRE6 Tomcat を起動しようとしていますが、これは重要ではないと思います。

編集: 2GBのRAMでWin2k3 VMイメージを実行しています。次のパラメーターを指定して Tomcatを監視アプリケーションを使用してJVMを起動します。

初期メモリプール: 1024 、最大メモリプール: 1536

-XX:PermSize = 128m -XX:MaxPermSize = 128m -XX:+ CMSPermGenSweepingEnabled -XX:+ CMSClassUnloadingEnabled -XX:+ UseConcMarkSweepGC -Dcatalina.home = C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 -Dcatalina.base = C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 -Djava.endorsed.dirs = C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ endorsed -Djava.io.tmpdir = E:\ tomcat \ temp -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file = C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ conf \ logging.properties

役に立ちましたか?

解決

Perm Genはヒープに追加されるため、プロセスを確認してください。1.5GB以上の2Gが利用可能である必要があります。

他のヒント

-Xmx512mでより大きなヒープを与えてみてください(これにより512 MBが得られます)

他にどのようなメモリパラメータを使用していますか?マシンにはどれくらいのメモリがありますか? 32ビットまたは64ビットのマシンを使用していますか?

2GBのメモリがあり、設定-Xmx1024m -XX:PermSize = 512m -XX:MaxPermSize = 512mでtomcatを実行します。これは通常正常に動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top