Coldfusion

Sun JVM 故障排除的工具和技巧

  • August 27, 2009

我們在 Sun JVM 版本 1.6.0_11 上執行 ColdFusion 8 伺服器集群。有時,伺服器會簡單地停止響應請求。到目前為止,我們已經確定 JVM 處於鎖定狀態,並且 ColdFusion 和 IIS 都不是問題的根源。我在下麵包含了我們的 JVM 參數。我們應該查看任何其他 JVM 設置嗎?是否有任何工具可以從 JVM 內部監控、跟踪或獲取指標,以便我們在崩潰發生時看到它在做什麼?還有其他 JVM 故障排除技巧嗎?

-server
-Xms1024m
-Xmx1024m
-Dsun.io.useCanonCaches=false
-XX:MaxPermSize=256m
-XX:PermSize=256m
-XX:+UseParallelGC
-Dsun.rmi.dgc.client.gcInterval=300000
-Dsun.rmi.dgc.server.gcInterval=300000
-Djmx.invoke.getters=true

如果您在 Linux 上,您可以使用 kill -3 獲取執行緒轉儲並使用Thread Dump Analyzer查找死鎖。

VisualVM現在作為 JDK 的一部分提供,可用於監控記憶體使用情況、執行緒,還包括一個分析器。

jmap可用於從 Java 程序獲取堆直方圖和堆轉儲。然後,您可以使用Eclipse Memory Analyzer之類的工具對其進行調查。

正如另一個答案提到的那樣,您可以查看 JMX 和 JConsole。對於我們應用程序中的每個服務,我們都有一個 MBean,因此我們可以查看諸如隊列大小之類的鍵統計資訊,以檢查是否有任何異常。

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