您的位置:首页 > 运维架构 > Tomcat

tomcat 7 java.lang.OutOfMemoryError: PermGen space

2014-05-07 19:39 519 查看
今天下班后,一同事打电话来说服务器登不上去了,远程打开看了看Tomcat的日志,提示“java.lang.OutOfMemoryError: PermGen space”。

网上搜了下,大多数的内容都是去修改TOMCAT_HOME\bin\catalina.bat,可是我在bin目录里面找不到catalina.bat文件,怎么办?

后来重新搜了一遍,找到了一个差不多的内容,总算明白了,为什么服务器上的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

,在最后加两句话:

-XX:PermSize=128m

-XX:MaxPermSize=512m



然后重新启动Tomcat。

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



还有一种思路,那就是如果一个Tomcat里面放了好几个web项目,那么最好把这几个项目中共同的jar文件拿出来,放在Tomcat的lib中,这样就避免了中间件为这些重复的jar中的类各自分配内存的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐