实习刚接触正式项目,调试个接口要开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