tomcat 持久区溢出

知识点:堆内存设置(JVM堆内存)java的堆内存分为两块:permantspace(持久带) 和 heap space
OOM
1.年老代溢出,表现为:java.lang.OutOfMemoryError:Javaheapspace
2.持久代溢出,表现为:java.lang.OutOfMemoryError: PermGen space
产生的原因可能是:设置的内存参数Xmx过小或程序的内存泄露及使用不当问题。
还有的时候虽然不会报内存溢出,却会使系统不间断的垃圾回收,也无法处理其它请求。这种情况下除了检查程序、打印堆内存等方法排查,还可以借助一些内存分析工具,比如MAT就很不错。

解决办法唯有将参数 -XX:MaxPermSize 调大(一般256m能满足绝大多数应用程序需求)。将部分Java类放到容器共享区(例如Tomcat share lib)去加载的办法也是一个思路,但前提是容器里部署了多个应用,且这些应用有大量的共享类库

1、先查看tomcat日志catalina.out  ,截取后5W行日志进行分析。

2、可看情况启动服务。

posted on 2018-03-15 14:14  耿耿~  阅读(85)  评论(0编辑  收藏  举报

导航