我在自定义应用程序中使用Java服务包装器已经有一段时间了,它一直运行得很好。由于在最近几天将应用程序更新到新版本,JVM开始挂起,然后包装器在日志中打印以下内容: JVM显示挂起:超时等待来自JVM的信号。
然后,它会自动终止JVM并再次启动应用程序。这发生在大约10小时的运行之后,这只会增加调试的难度。
当然,我会检查我们所做的更改,但没有重大的更改,我怀疑是导致这种类型的问题。
我可以在哪里尝试并弄清楚发生了什么?来自应用程序的调试消息不会显示任何有趣的东西。如果JVM崩溃,它通常会创建一个转储,这可以帮助调试它,但它是挂起的,所以它不会创建转储。如果我设置为不自动重新启动服务,那么在重新启动JVM之前,我可以做些什么来从JVM中获取一些有用的信息呢?
在我看来,JVM不应该因为典型的编程错误而挂起。在此之前,您遇到过什么可能导致JVM挂起的问题?
发布于 2009-03-01 21:54:35
你在什么环境中?操作系统、JVM版本、硬件架构?
这听起来确实像是一个bug,而且考虑到它需要花费很多时间,它听起来像是某种资源耗尽的bug。
https://stackoverflow.com/questions/600604
复制相似问题