Java.lang.OutOfMemoryError:PermGen spaceエラーが発生し、-Xms
以外のTomcat JVMパラメーターを確認しました。 -Xmx
パラメーターも-XX:MaxPermSize=128m
を指定します。プロファイリングを少し行った後、PermGenのスペースでガベージコレクションが発生していることがあります。
私の質問は:-XX:MaxPermSize
を増やす以外に、-XX:PermSize
も指定した場合の違いは何ですか?合計メモリはXmx + maxPermSizeとなることはわかっていますが、-XX:PermSize
が(である理由は他にもあります-XX:MaxPermSize
が指定されている場合、(not)ありますか?
これらのJVMパラメータの実際の使用経験がある場合は、共有してください。
追伸JVMはHotSpot 64ビットサーバーVM build 16.2-b04です
-XX:PermSize
は、JVMの起動時に割り当てられる初期サイズを指定します。必要に応じて、JVMは-XX:MaxPermSize
まで割り当てます。
パフォーマンスチューニングを行う場合は、-XX:PermSize
と-XX:MaxPermSize
の両方を同じ値に設定してJVM
の効率を高めることをお勧めします。
ここにいくつかの情報があります:
CMS
GC
を使用している場合は、-XX:+CMSClassUnloadingEnabled
を指定してクラスのアンロードオプションを有効にすることもできます。 Java.lang.OutOfMemoryError: PermGen space
の確率を下げるのに役立つかもしれません