我的问题是,我在 2GB 2Core VPS 上的 Tomcat7 上运行 webapp,当应用程序因 heapoverflow 异常而崩溃时,Tomcat 不会启动或停止。当我尝试通过浏览器访问它时,它只是挂起。
如果我尝试停止,它看起来会停止,但如果我反复这样做,它应该抛出异常,因为它已经停止了,但事实并非如此。只有在 15 分钟后,我才能再次启动它。
我知道我应该解决 heapoverflow 问题,但问题是我根本无法解决问题,因为我使用的框架是 nod 线程安全的,我必须为每个请求创建一个内存重对象的新实例:(我试图通过添加一些基本控制器来解决这个问题,它只允许创建一定数量的对象,其余的请求被重定向到一个抱歉页面。因为它是针对 UNI 项目的,主要目标不是能够为数百个用户提供服务,使框架线程安全并不重要。
我仍然需要知道为什么Tomcat在崩溃后会这样做。如果您能更好地了解如何限制同时在内存中的这些对象的数量,这也会有所帮助。
++++++++++
目前我能看到的唯一解决方案是增加 2GB 的 RAM,这样我就可以一次为 15-20 个用户提供服务。