Java

診斷已停止響應的 Java 應用程序伺服器的好策略是什麼?

  • June 12, 2009

我安裝了在 Glassfish 上執行的 OpenSSO。一切都是庫存,盡可能少的配置以使系統正常工作。我已經開始遇到伺服器停止響應的問題。它會接受請求,但會等待響應。大約二十分鐘後,所有請求都完成了,閃電般的快,一切都恢復了正常。可悲的是,日誌沒有顯示任何會導致這種情況的異常情況。

我正在尋找的是一般策略。您將如何診斷和解決 Java 應用程序伺服器上的此類問題?

謝謝!

以下是診斷 Java 問題的一些一般提示。

  • 最近的 JDK 附帶VisualVM。您可以將其附加到正在執行的 JVM 實例以監控執行緒和記憶體使用情況。
  • 如果您在 Linux 上,您可以使用 kill -3 獲取執行緒轉儲並使用Thread Dump Analyzer查找死鎖
  • 查看 Glassfish 可能通過 JMX 公開的資訊。然後,您可以使用 JConsole 附加到程序並在執行時查看 JMX 資訊。
  • 您提到日誌沒有顯示任何內容。如果這是一個反復出現的問題,您應該提高日誌級別。

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