【发布时间】:2014-08-20 22:11:09
【问题描述】:
我正在 Windows 8.1 上测试 Tomcat 8.0.3 和 Java 8(构建 1.8.0-b129 64 位服务器 VM(构建 25.0-b69,混合模式)上的 java webapp。
只需单击几下鼠标,应用程序就会耗尽内存。众所周知,它可以在带有 Tomcat 7 的 Windows 7 和带有 4GB RAM 的 Java 8(open jdk)的 CentOS 上运行良好。
30/06 23:42:56 错误 (error.ErrorController) org.springframework.web.util.NestedServletException: 处理程序处理失败;嵌套异常是 java.lang.OutOfMemoryError: PermGen space
警告 [RMI TCP Connection(11)-192.168.56.1] ServerCommunicatorAdmin.reqIncoming 服务器已决定关闭此客户端连接。
该应用程序还使用本地 ElasticSearch(不确定是否与它有关)。
您能否解释一下堆不断增长而实际内存使用量似乎下降的原因是什么?
【问题讨论】:
-
如果看不到完整的日志文件,说起来很复杂。我会开始关闭弹性搜索并模拟搜索。能不能在内存消耗大增的那一分钟贴上日志。
-
日志并没有真正的可疑之处——请求、响应+休眠SQL。我将尝试在所有内容上使用 DEBUG 运行它。
-
我现在无法真正复制它,将关闭问题。谢谢!