eclipse中tomcat的内存配置方法

双击Servers,打开tomcat的配置界面,点击General Information中的Open launch configuration,在弹出的框中,选中第二项(Arguments),在VM arguments中输出如下内容,保存即可。
-Xms256m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512m
-Xms256m:虚拟机占用系统的最小内存
-Xmx512m:虚拟机占用系统的最大内存
-XX:PermSize:最小栈内存大小。一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大栈内存大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M

现在问题来了,如果我现在不需要启动eclipse,而是直接启动tomcat,同样会报内存溢出的错误。咋办呢?
有两种方法:
1. 适合用%tomcat_home%/bin中的startup.bat脚本启动。打开catalina.bat文件(用文本阅读器即可),找到下面代码
echo Using CATALINA_BASE:   "%CATALINA_BASE%"
在这段代码前面加入 set JAVA_OPTS=-Xms256m -Xmx512m -server -XX:PermSize=256M -XX:MaxPermSize=512m即可。
因为:用startup.bat启动tomcat服务器,会调用catalina.bat文件,在Catalian.bat文件的166行“rem Execute Java with the applicable properties ”下面会加载系统设置的相关属性。
其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。

2. 适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS 属性的方法就不适用了,因为作为系统服务的话,系统启动时调用的是 %tomcat_home%/bin/tomcat5w.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=-Xms512m -Xmx512m

加入 -Xms256m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=512m
重起tomcat服务,设置生效

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值