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

myeclipse启动tomcat内存溢出,或tomcat内存溢出问题解决办法

2014-05-23 17:16 477 查看
最近项目开发中老是遇到启动项目后报内存溢出,首先我们要确定问题所在,MyEclipse启动Tomcat无视catalina.bat中设置内存大小,所以说如果用myeclipse启动tomcat内存溢出,而tomcat直接启动不报错的话,一定是MyEclipse的配置问题,解决办法如下:

因笔者用的是Myeclipse10、tomcat 6,所以用MyEclipse10、tomcat6为例子,点击MyEclipse最上面的工具栏的Window --> Preference,然后点击MyEclipse --> Servers --> Tomcat --> Tomcat 6.x --> JDK,然后在Optional Java VM arguments:下设置如下信息:

-server -Xms512m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m

点击apply,点击ok。好了,重启项目就可以了。

如果,直接启动tomcat报内存溢出,就需要手动设置JVM内存大小。

Linux下修改JVM内存大小:

要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。

# OS specific support. $var _must_ be set to either true or false.

JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"

cygwin=false

windows下修改JVM内存大小:

情况一:解压版本的Tomcat, 要通过startup.bat启动tomcat才能加载配置

要添加在tomcat 的bin 下catalina.bat 里

rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%后面添加,红色的为新添加的.

set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true

情况二:安装版的Tomcat下没有catalina.bat

windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

原值为

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

-Xrs

加入 -Xms300m -Xmx350m

重起tomcat服务,设置生效。

  问题简单剖析,请看下一篇文章《tomcat内存溢出问题简单剖析》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐