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

如何修改tomcat内存大小

2013-01-19 21:24 295 查看
在机器上安装了java cms,也就是CMS4J,但是运行一段时间发现tomcat标准内存配置是64M,所以要修改内存大小,按如下的方法进行修改。
为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式:

一、使用 catalina.bat 等命令行方式运行的 tomcat
1、修改 tomcat\bin\Catalina.bat 文件

在166行左右

rem Execute Java with the applicable properties ”以下每行

%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
在 %DEBUG_OPTS% 后面添加-Xms256m -Xmx512m
保存后,重新以命令行的方式运行 tomcat ,即可,然后通过最后面介绍的如何观察tomcat现有内存情况的方法进行查看是否已经变更成功。
二、使用 系统中的 “服务”,或者开始菜单的可执行程序运行的tomcat
1、关闭 现在正在运行的tomcat

2.1 [注意]
[高版本tomcat配置方法]
如果是tomcat 5.5 或者是 5.0.28 之后的版本,在 Java 选项卡中,下方,会有

Inital memory Pool:

Maximum memory Pool:

Thread stack size:

三个输入框,在这里即可不用做上面的操作,直接配置内存大小,只需要设置

Inital memory Pool 为 256

Maximum memory Pool 为 512
点击确定后,重启tomcat 生效
如果您是低版本的tomcat,发现没有上面那几个录入框,请看下面的操作步骤
[低版本tomcat配置方法]
在开始菜单中,找到“Apache Tomcat 5.0”,并选择“Configure Tomcat”,在弹出的对话框窗口中,切换到 Java VM 选项卡,并在 Java Options 输入框的最前面输入
-Xms256m -Xmx512m
即输入框中的内容会像下面的代码(与自己的环境有所区别)
-Xms256m -Xmx512m

-Dcatalina.home="C:\tomcat5"

-Djava.endorsed.dirs="C:\tomcat5\common\endorsed"

-Xrs
设置完后,点击“确定”,并重启tomcat即可。
三、查看现有tomcat的内存大小情况
1、启动tomcat

2、访问 http://localhost:8080/manager/status ,并输入您在安装tomcat时输入的用户与口令,如 admin ,密码 cms4j (密码是您在tomcat安装时输入的)
3、进入了Server Status页面,可以在JVM表格中看到

Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB
上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。

确定了最大内存足够大时,tomcat即可正常运转

1 、Tomcat 默认可以使用的内存为128MB ,在较大型 的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat 内存溢出错 误,Out of Memory( 系统内存不足) 的 异常,从而导致客户端显示500 错误,一般调整Tomcat 的
使用内存即可解决此问题。
Windows 环境下修改“%TOMCAT_HOME%\bin\catalina.bat ”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m
Linux 环境下修改“%TOMCAT_HOME%\bin\catalina.sh ”文件,在文件开头增加如下设置:JAVA_OPTS= ’-Xms256m -Xmx512m ’
其中,-Xms 设置 初始化内存大小,-Xmx 设置可以使用的最大内存。

2 、Tomcat6版本 已经没有catalina.bat 文 件了。这个时候我们需要运行%TOMCAT_HOME%\bin\tomcat6w.exe 文件, 修改其中的Initial memory pool 和Maximum memory pool 的值,分别为256 、512。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: