Tomcat JMX Perm Gen 監控問題

Tomcat JMX Perm Gen 監控問題

我的 jmx 監控有問題。我們使用 jmx 監控一些 jvm 的 perm gen。但 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 的電腦的特徵自動選擇。我現在找不到任何參考資料,但 IIRC 它們是基於 CPU 架構和可用總記憶體。

我建議您在啟動腳本中指定垃圾收集器之一。根據您的應用程序,隨機選擇垃圾收集器可能並不好。

相關內容