如果它在PRODUCTION环境中,那么调试死锁问题的正确行动计划是什么?

Cla*_*Bao 5 java debugging concurrency

注意我不是在问死锁的概念.我感兴趣的是,如果您在生产群集服务器中的Java应用程序中遇到此问题并具有调试技巧,您将采取什么措施.

  • 关于分析步骤的计划的最佳实践.

假设

  • 你已经知道一个服务器遇到了这个问题.
  • 操作系统正在使用Linux.

目标

  • 您想知道根本原因并修复它.

Ern*_*ill 4

  1. 向服务器发送 SIGQUIT 信号以强制进行堆栈转储。如果您使用的是 Windows,您也许能够使用 获得类似的转储jconsole或许。但如果您在 Linux 上运行服务器,生活就会容易得多。
  2. 检查堆栈转储以查找死锁
  3. 知道它是什么,尝试在测试服务器上重现
  4. 当您可以重现它时,修复它,然后在测试服务器上进行测试