Tomcat 8下的奇怪内存行为(jvisualvm)

时间:2014-06-30 13:57:28

标签: java tomcat jvisualvm

我正在Windows 8.1上测试Tomcat 8.0.3和Java 8(构建1.8.0-b129 64位服务器VM(版本25.0-b69,混合模式))上的java webapp。

只需点击几下鼠标,应用程序就会耗尽内存。众所周知,在Windows 7上使用Tomcat 7和带有4GB内存的Java 8(打开jdk)的CentOS可以正常运行。

30/06 23:42:56错误(error.ErrorController)org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是java.lang.OutOfMemoryError:PermGen space

警告[RMI TCP连接(11)-192.168.56.1] ServerCommunicatorAdmin.reqIncoming服务器已决定关闭此客户端连接。

该应用程序还使用本地ElasticSearch(不确定它是否与它有任何关系)。

你能解释一下,当实际内存使用率下降时,堆持续增长的原因是什么?

enter image description here

1 个答案:

答案 0 :(得分:1)

这里的关键是“PermGen空间”。此空间用于加载.class文件。也许你的类路径上有太多jar /其他库,或者你的标准permgen大小是不够的。

以下是如何为Tomcat设置自定义permGen空间的详细说明:

How do I properly set the permgen size?