关闭

java.lang.OutOfMemoryError: PermGen space

标签: PermGen内存溢出
145人阅读 评论(0) 收藏 举报
分类:

java.lang.OutOfMemoryError: PermGen space


解决方法: 


设置MaxPermSize的大小修改 TOMCAT_HOME/bin/catalina.bat(Linux上为catalina.sh)文件, 在echo Using CATALINA_BASE:   "%CATALINA_BASE%"上面加入这一行内容: 


catalina.bat前面加上如下: 

Java代码  收藏代码
  1. set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M


catalina.sh前面加上如下:  


Java代码  收藏代码
  1. JAVA_OPTS="$JAVA_OPTS" -server -XX:PermSize=128m -XX:MaxSize=512m  



如果bin目录里面找不到catalina.bat文件,怎么办?

安装版的tomcat 7,所以没有。那怎样像免安装版一下修改里面的内存参数呢?有两个方法:

第一:修改注册表

32位OS打开HKEY_LOCAL_MACHINE -> SOFTWARE -> Apache Software Fundation -> Procrun2.0 -> Tomcat7 -> Parameters -> Java -> Options 

64位OS打开HKEY_LOCAL_MACHINE -> SOFTWARE -> WOw6432Node -> Apache Software Fundation -> Procrun2.0 -> Tomcat7 -> Parameters -> Java -> Options

,在最后加两句话:

-Xms1024M
-Xmx1024M
-XX:PermSize=256M
-XX:MaxNewSize=256M
-XX:MaxPermSize=256M



然后重新启动Tomcat。

第二:直接在Tomcat的图形化管理界面的Java标签下的Java Options 中添加第一种方法里面的两句话,效果是一样的。



还有一种思路,那就是如果一个Tomcat里面放了好几个web项目,那么最好把这几个项目中共同的jar文件拿出来,放在Tomcat的lib中,这样就避免了中间件为这些重复的jar中的类各自分配内存的问题。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:77269次
    • 积分:1168
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:43篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论