Tomcat-out of memory

本文介绍了解决Tomcat在运行多个项目时遇到的内存溢出问题。通过调整Tomcat配置文件catalina.bat中的JAVA_OPTS参数,以及在Eclipse中设置VM参数,有效地解决了因内存不足导致的服务启动失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         实习刚接触正式项目,调试个接口要开4个服务项目,前面都没什么大问题,调试最外层服务接口时(需要4个项目都开起),每次都报错,刚开始没注意看错误信息,还以为参数弄错了,后来一看似乎是内存不够。

        tomcat默认配置空间有时候不够支撑数据量较大的情况(现在一想几个项目的服务路由跑起来压力是挺大的,而且路由配置问题有奇怪的地址挂了一直扫描和发心跳)。

        最简单的办法,改下tomcat配置,多分给人家一点空间。

1、tomcat配置

修改tomcat目录下的配置文件,apache-tomcat-7.*\bin\catalina.bat,

在echo Using CATALINA_BASE:   "%CATALINA_BASE%"的上面一行加下面代码:

set JAVA_OPTS=-Xms1024m -Xmx4096m -XX:PermSize=128m -XX:MaxPermSize=256m

加入后的样子:

rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-Xms1024m -Xmx4096m -XX:PermSize=128m -XX:MaxPermSize=256m
echo Using CATALINA_BASE: "%CATALINA_BASE%"

2、eclipse中直接设置

1.点击eclipse上的debug或者run图标旁边的下拉箭头,分别设置debug和正常跑时的配置

2.选择Run Configurations,

3.系统弹出设置tomcat配置页面,在Argument中末尾添加参数中的VM arguments中追加:

-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m

-vmargs:说明后面是VM的参数
-Xms40m:虚拟机占用系统的最小内存
-Xmx256m:虚拟机占用系统的最大内存
-XX:PermSize:最小栈内存大小。一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大栈内存大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M

Mark

转载于:https://my.oschina.net/liujiest/blog/728061

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值