Tomcat

Perm Gen 的 Tomcat JMX 監控問題

  • February 2, 2010

我的 jmx 監控有問題。我們使用 jmx 監控一些 jvm 的 perm gen。但有時 mbean 的名稱會從“PS Perm Gen”更改為“Perm Gen”,反之亦然。它發生在tomcat伺服器的重新啟動時,但不是每次重新啟動時都會發生。

jvm 版本是 1.5.0_16。

有沒有人遇到過這個問題,也許有解決方案?

您可能正在使用不同的垃圾收集器。PermGen記憶體區域的名稱因選擇的垃圾收集器而異:

  • -XX:+UseParallelGC: PS永久代
  • -XX:+UseConcMarkSweepGC: CMS 永久代
  • -XX:+UseSerialGC: 永久代

看起來 Tomcat 是使用串列(stop-the-world)收集器或併行收集器啟動的。

驗證啟動腳本或環境設置中的任何不一致。

更新:垃圾收集器和記憶體設置受JVM 人體工程學的影響,這意味著它們在啟動時會根據執行 JVM 的電腦的特性自動選擇。我現在找不到任何參考資料,但 IIRC 它們基於 CPU 架構和可用的總記憶體。

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

引用自:https://serverfault.com/questions/105308