诊断已停止响应的 Java 应用服务器的良好策略是什么?

诊断已停止响应的 Java 应用服务器的良好策略是什么?

我安装了 OpenSSO,运行在 Glassfish 上。一切都很原样,配置尽可能少,以使系统正常工作。我开始遇到服务器停止响应的问题。它会接受请求,但响应会挂起。大约二十分钟后,所有请求都完成了,速度快如闪电,一切都恢复正常。遗憾的是,日志没有显示导致这种情况的任何异常情况。

我正在寻找一个通用策略。您将如何诊断和解决 Java 应用服务器上的此类问题?

谢谢!

答案1

以下是诊断 Java 问题的一些常规技巧。

  • 最近的 JDK 附带可视化虚拟机。您可以将其附加到正在运行的 JVM 实例来监视线程和内存使用情况。
  • 如果你使用的是 Linux,你可以使用 kill -3 来获取线程转储,并使用以下方法查找死锁:线程转储分析器
  • 查看 Glassfish 可能通过 JMX 公开哪些信息。然后,您可以使用 JConsole 附加到进程并在运行时查看 JMX 信息。
  • 您提到日志没有显示任何内容。如果这是一个重复出现的问题,那么您应该增加日志级别。

答案2

我听说过玻璃盒,并且有一个推介会关于使用 Glassbox 与 Glassfish 以及其他选项。

相关内容