web-dev-qa-db-ja.com

PermGenでのTomcatJMXモニタリングの問題

jmxの監視に問題があります。 jmxを使用していくつかのjvmのpermgenを監視します。ただし、mbeanの名前は「PSPermGen」から「PermGen」に、またはその逆に変更されることがあります。 Tomcatサーバーの再起動で発生しますが、再起動のたびに発生するわけではありません。

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

誰かがこの問題を経験し、おそらく解決策を持っていますか?

4
Christian

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

  • -XX:+UseParallelGC:PS PermGen
  • -XX:+UseConcMarkSweepGC:CMS PermGen
  • -XX:+UseSerialGC:PermGen

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

起動スクリプトまたは環境設定に不整合がないか確認してください。

Update:ガベージコレクターとメモリの設定は JVM人間工学 の影響を受けます。つまり、起動時に自動選択されます。 JVMが実行されているコンピューターの特性に基づいています。現在、参照は見つかりませんが、IIRCはCPUアーキテクチャと使用可能な合計メモリに基づいています。

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

7
Robert Munteanu