Tomcat远程部署 内存池溢出(Code Cache)


RT Tomcat7中 使用远程部署 反复几次就出现了PermGen space
用jconsole看了一眼非堆内存的使用状态 发觉每进行一次远程部署 Code Cache占占用内存就提高一些 并且不释放:

内存占用情况

你们做过持续集成并且使用过Tomcat的远程部署(其他应用服务也行 Resin或者JBOSS) 有没有遇到过类似情况 是如何解决的?

java jvm

nedas 11 years, 11 months ago

这可能是一个老问题了. tomcat重新部署时, 不会移出permgen里以前老的class的实例.

以下文字引自:
http://stackoverflow.com/questions/66...

Typically, every time you hot deploy, new class instances are added to the PermGen memory pool, and the old ones, now unused, are typically not removed....Therefore, if you hot deploy enough times, you will eventually exhaust your PermGen space.

这里特别提到了可能在Tomcat6中遇到此问题:
http://stackoverflow.com/questions/47...

糟糕积分R2 answered 11 years, 11 months ago

Your Answer