私は以前にこの質問をしたことがあります-JVMフラグCMSClassUnloadingEnabledは実際に何をしますか?、でも今回は少し違います!
フラグを設定してJavaVMを起動すると-XX:+CMSPermGenSweepingEnabled
、次のメッセージが出力されます。
今後、CMSPermGenSweepingEnabledの代わりにCMSClassUnloadingEnabledを使用してください
フラグはエラー-XX:+CMSPermGenSweepingEnabled
を軽減するためによく使用されますが、上記のアドバイスに従うことでまだこれらのエラーが発生していることを他の場所で読んだことがありますが、VMを維持するだけでなく、再起動の間も長く維持されています。PermGen OutOfMemory
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:+CMSClassUnloadingEnabled
本当に取って代わるのでしょうか-XX:+CMSPermGenSweepingEnabled
、それとも両方を持つことでまだいくつかの利点がありますか?
前もって感謝します
リッチps:perm genの問題の根本的な原因は、通常はクラスローダーリークであることがわかっています。これは、上記のオプションを使用した場合にJVMが生成するメッセージに関するものです。