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

eclipse--tomcat内存配置 tomcat添加到系统服务 及其配置 解压版tomcat 6.0 多个tomcat

2011-07-25 13:23 495 查看
我这里是用的解压版的tomcat6.0为例

由于我的项目在tomcat(6.0)里面做了缓存 所以tomcat默认的内存配置会导致OutOfMemoryError: Java heap space 也就是内存不够用了

这里要分情况

1.如果使用tomcat直接发布项目,在tomcat的bin目录下,找到catalina.bat文件,打开,在最上面添加这样一句:
set JAVA_OPTS=-Xms256m -Xmx512m.

即可。

2.我们用eclipse开发的时候,就算在tomcat的bin目录下的catalina.bat添加这样一句:
set JAVA_OPTS=-Xms256m -Xmx512m.
也无效。

需要在Eclipse:
菜单Window-->Preferences-->Java-->Installed JREs,选择目前正在使用的JRE,点Edit-->Default VM Arguments:
针对本机内存情况输入参数,如1G的机器可以设置成 -Xms30m -Xmx512m,然后重新启动Tomcat

在jsp或者在serlvet,action里面打印tomcat内存信息即可看到tomcat此时的内存配置情况

如在action里面写一个 test 的action

public ActionForward test(ActionMapping mapping, ActionForm form1,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("TotalMemory :::: "
+ (Runtime.getRuntime().totalMemory() / (1024 * 1024) + "M"));
System.out.println("Max Memory :::: "
+ (Runtime.getRuntime().maxMemory() / (1024 * 1024) + "M"));
System.out.println("Free Memory :::: "
+ (Runtime.getRuntime().freeMemory() / (1024 * 1024) + "M"));
return null;
}

tomcat启动了以后访问这个test即可看到打印信息
我这里的action为http://localhost:8080/aisvoyage/publicAction.do?operator=test
打印结果:
TotalMemory :::: 29M
Max Memory :::: 494M
Free Memory :::: 17M


那么就设置成功了。

3.如果把tomcat解压版添加到了windows的系统服务。我这里添加两个tomcat到系统服务为例
添加成服务的脚本为
3.1.解压2个TOMCAT到D盘目录分别为tomcat1和tomcat2
3.2.编写bat 文件如:installTomcat.bat
内容如下:
rem 安装tomcat1服务
set CATALINA_BASE=D:\tomcat1
set CATALINA_HOME=D:\tomcat1
call D:\tomcat1\bin\service.bat install tomcat1

rem 安装tomcat2服务
set CATALINA_BASE=D:\tomcat2
set CATALINA_HOME=D:\tomcat2
call D:\tomcat2\bin\service.bat install tomcat2

3.3:做2个TOMCAT系统服务,方便启动/停止/重新启动等操作。
删除系统命令为:sc delete 服务名 如果服务名有空格的话,服务名两边加引号。

服务添加成功了以后需要打开注册表 win+r 然后输入 regedit 找到
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcat1\Parameters\
右边是参数列表 默认是初始128M 最大256M

JvmMs 是tomcat初始化占用的内存的大小
JvmMx 是tomcat最大能占用的内存大小

双击用10进制修改以后 重新启动tomcat的系统服务即可!

如果是tomcat5 则是在
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

后面追加 -Xms300m -Xmx350m

4.tomcat端口不冲突需要设置每一个tomcat的监听端口为独享唯一的。

在tomcat/conf/server.xml里面有三处端口需要改

4.1.<Server port="8005" shutdown="SHUTDOWN">port 需要修改成唯一的
4.2<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />port 需要修改成唯一的
4.3<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />port 需要修改成唯一的

在此记录下来以备后用和给新手参考..

good lucky
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: