-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=128M
1、PermGen space简介
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。
说说为什么会内存益出:
(1)这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同。
(2) GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。
如果你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
[ERROR] 2009-10-28 17:58:14,109 method:org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:250)
Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: PermGen space
解决方法: 手动设置MaxPermSize大小
从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。理由如下:
PermSize 和MaxPermSize如果设置为相同还可以在一定程度上提高性能,因为,PermSize在不断的变化中会需要转移其中的数据。如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。
在Linux下
修改TOMCAT_HOME/bin/catalina.sh,在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m “
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存。
在Windows下
修改TOMCAT_HOME/bin/catalina.bat 添加
set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=128M
在Windows上修改后发现用Eclipse启动仍然报错,但运用startup.bat 和 catalina.bat run 运行Tomcat则不会报错,解决方法如下图:
window->preferences->myeclipse->application server->tomcat 5->jdk->optional java jvm arguments里加入参数
- 大小: 53.5 KB
分享到:
相关推荐
TOMCAT内存溢出之解决方法
LINUX部署tomcat内存溢出解决方案 已经使用过了,确实是好用的。
在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。本文就介绍了Tomcat内存溢出的三种情况及解决办法分析
Tomcat内存溢出三种情况及解决办法,不同的异常采用不同的方式解决,不能盲目的增加内存就可以了。
项目在tomcat下运行时,出现常见的几种内存溢出的解决方案
根据网上总结tomcat内存溢出的各种解决办法,很实用!
数据库更新工具 tomcat内存溢出解决办法 在Birt中使用Web Services数据源
按照压缩包里面的操作说明把对应文件拷贝进去就没问题了。
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
tomcat内存溢出,里面列出集中导出内存溢出的愿意和解决方案。
Tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError),内附解决方案!
tomcat内存溢出总结:堆溢出。永久保存区域溢出 等等各种常见内存溢出问题的解决方法
本文档记录了本人在不同系统上遇到tomcat内存溢出的各种问题,给出的解决方案。 详细记录。好东西要共享才有价值哦!
超实用内存溢出解决方法,包括各种tomcat配置方法。以及注册服务前后的配置的区别
下面小编就为大家带来一篇有关tomcat内存溢出的完美解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了, 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存溢出不常见,但某些系统还是很常见的解决的方法
堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的,本文将详细介绍Tomcat内存溢出,需要了解更多的朋友可以参考下
如果您的tomcat是6.X版本且是安装版的,那么系统设置环境变量是不起作用的,因为这个版本的只能通过点击tomcat6.exe 或tomcat6w.exe才能执行,这种方法可以通过修改注册表能解决:本例是以内存3G为例的。 windows...