Perm Gen による Tomcat JMX モニタリングの問題

Perm Gen による Tomcat JMX モニタリングの問題

jmx モニタリングに問題があります。一部の jvm の perm gen を jmx でモニタリングしていますが、ときどき mbean の名前が「PS Perm Gen」から「Perm Gen」に、またはその逆に変わります。これは、tomcat サーバーの再起動時に発生しますが、再起動のたびに発生するわけではありません。

jvm バージョンは 1.5.0_16 です。

この問題に遭遇した人はいますか?また、解決策を知っている人はいますか?

答え1

おそらく、異なるガベージ コレクターを使用していると思われます。メモリ領域の名前は、PermGen選択したガベージ コレクターによって異なります。

  • -XX:+UseParallelGC: PSパーマジェン
  • -XX:+UseConcMarkSweepGC: CMS パーマジェン
  • -XX:+UseSerialGC: パームジェン

Tomcat はシリアル (stop-the-world) コレクターまたはパラレル コレクターのいずれかを使用して起動されているようです。

起動スクリプトまたは環境設定に不一致がないか確認します。

アップデート: ガベージコレクターとメモリ設定は、JVM エルゴノミクスつまり、JVM が実行されているコンピュータの特性に基づいて、起動時に自動的に選択されるということです。現時点では参考資料を見つけることができませんが、私の記憶が正しければ、CPU アーキテクチャと使用可能なメモリの合計に基づいています。

起動スクリプトでガベージ コレクターの 1 つを指定することをお勧めします。アプリケーションによっては、ランダムにガベージ コレクターを選択するのは適切ではない場合があります。

関連情報