2010-10-08 52 views
2

我有一个Java服务器的过程,不重处理。它会间歇性地停止处理,因为在日志中止,并且活动停止,但该过程仍处于活动状态。当Java调试什么可能导致我的进程挂起

我有这种情况发生在调试几次。当它在调试器中暂停/中断时,我可以检查正在运行的线程并查找停止的原因。但暂停按钮并不像通常那样进入程序,只是坐在那里。我使用IntelliJ IDEA,但我不确定它是否会成为IDE或具有此问题的JVM。

我试图闯入该程序出现问题之前,它工作正常,过程停止,我可以通过线程的列表检查。

没有人知道为什么一个JVM不会在调试暂停响应/打破?以及它如何进入这种情况?我有点卡住了,因为我没有办法诊断这个问题,而不能在程序状态被破坏时看到它。导致问题的日志显示没有问题。

+0

我已经看到这种奇怪的行为使用IntelliJ中的调试器。 IntelliJ是我最喜欢的编辑器,但是我会说eclipde和netbeans有更好的调试器。我发现IntelliJ的支持非常敏感。 http://www.jetbrains.com/support/idea/ – 2010-10-08 23:03:51

回答

1

你能与JVisualVM连接?你的CPU是100%吗?我们有一个平等的问题。应用程序已停止。 JVisualVM尚未连接。带有jstack的线程转储显示所有线程都被弯曲(多个线程转储之间没有差异),但虚拟机消耗100%的CPU。我们改变了硬件,问题解决了。我们这是一个RAM问题,垃圾收集在无限循环中运行。但这只是一个理论。

请更新我,如果你能解决这个问题。

+0

自从我发布这个以来,这并没有被复制。如果它再次发生,我们会发现它的底部,我会发布更新。 – 2010-10-14 07:53:29

相关问题