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

Tomcat – Java.Lang.OutOfMemoryError: PermGen Space

2017-02-22 11:06 260 查看
注:将项目配置到Tomcat中,Tomcat启动成功但是访问项目的时候出现Java.Lang.OutOfMemoryError: PermGen Space异常,通过下面内容得到了解决。

本文由 ImportNew -
刘志军 翻译自
mkyong。欢迎加入翻译小组。转载请见文末要求。
很多时候,在开发阶段Tomcat重复的重启过程中会遇到java.lang.OutOfMemoryError : PermGen space 错误。

怎么解决这种问题呢?

默认情况下,在程序运行中Tomcat只分配了非常小的PermGen内存, 因此需要增加PermGen内存,你可以通过下面的Java VM选项设置。

换成Tomcat,该怎么设置呢? 接下来告诉你如果在Windows和Linux环境下,通过Tomcat来设置这些VM选项。

Windows

Tomcat是由脚本catalina.bat来管理的。深入到脚本里面,你会发现catalina.bat会去查找并且运行setenv.bat文件。这个文件就是用来设置环境变量的。

在Windows中设置环境,你需要手工创建setenv.bat文件,然后把它放在${tomcat-folder}\bin 目录下面。

注意:这里的JAVA_OPTS={value}没有双引号。

重启tomcat,它会自动调用setenv.bat文件来设置这些环境变量。

Linux

Linux平台下原理是一样的, 只是文件变成了catalina.sh 和 setenv.sh.

找到catalina.sh文件, 如果你不知道放在什么目录, 那么全盘扫描一下:

你会看到和Windows下类似的代码:

创建setenv.sh,把它放在${tomcat-folder}\bin\}目录下, 文件的内容是:

注意:这里和Windows有细微区别,这里的value是有双引号的export JAVA_OPTS=”{value}”。

重启Tomcat。

注意:我这里设置的Perm Gen大小仅仅是示例,你需要根据自己的项目需要来调整他们的值。

原文链接:
mkyong 翻译: ImportNew.com
- 刘志军

译文链接: http://www.importnew.com/10427.html

[ 转载请保留原文出处、译者和译文链接。]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息