Java Web Server突然停止响应,没有任何异常

时间:2016-08-11 17:56:08

标签: java jsp servlets web-applications webserver

我有一个使用jsp在java web服务器上构建的浏览器游戏。

我添加了一个新模块,它使用一些http会话对象并在其中保存数据。然而,在运行3-4个小时后,它突然停止工作并冻结。当我检查错误日志时,我没有看到任何异常抛出。

服务器暂时在线50-60。

我使用visualVM监控服务器,这是4小时后的结果,直到停止:

enter image description here

我将最大内存设置为1024Mb。正如你所看到的,它的问题与记忆无关。

我注意到的是当服务器停止时,线程数量增加了。

根据截图,我应该怀疑httpsession对象吗?为什么服务器停止响应?

1 个答案:

答案 0 :(得分:1)

它看起来像系统限制或死锁。

你的线程图看起来有问题:生命线程的数量很重要,永远不会减少。 Web应用程序应该是无状态的。当请求到达时,活动胎面数应该增加,但是当请求结束时,它们也会下降 我的印象不是你申请中的情况。

MGorgon是对的。

  

您还应该检查jconsole中的“死锁检测”。

如果您使用的是JDK 6+版本,则可以使用ThreadMXBean。它有findDeadlockedThreads()方法和其他有趣的方法来满足您的需求。

无论如何,如果它不是死锁,为了获得有关问题原因的更多信息,我建议你查看系统日志,无论你是什么操作系统。你可能会有一些有趣的事情。