MyEclipse配置启动Tomcat时的jvm使用的内存大小

公司的项目是基于SSH,Tomcat启动时默认的64M内存就总显得不太够。程序运行过程中经常出现OutOfMemError。

搜索网上的解决方案,如果只是Tomcat本身还是比较好解决的:

在Tomcat/bin/catalina.bat文件中增加一条环境变量的设置即可。

如下图所示:


按照网上的说法,应该增加在 echo Using CATALINA_BASE:   "%CATALINA_BASE%" 这句话之前。不过我觉得无所谓。

经过这样修改,在通过start.bat启动Tomcat的时候预设的内存值明显增大了。用VisualVM可以得到直观的感受。


设置参数前的heap最大值

MyEclipse配置启动Tomcat时的jvm使用的内存大小_第1张图片

设置参数前的PermSize最大值

MyEclipse配置启动Tomcat时的jvm使用的内存大小_第2张图片

设置参数后的heap最大值:

MyEclipse配置启动Tomcat时的jvm使用的内存大小_第3张图片

设置参数后的PermSize最大值:

MyEclipse配置启动Tomcat时的jvm使用的内存大小_第4张图片


比较困难的是通过MyEclipse启动Tomcat进行调试时,jvm如何设置。根据网上的说法,是在Windows->Preferences->Server->Tomcat->Tomcat6.x中可填入启动参数,如下图所示:

MyEclipse配置启动Tomcat时的jvm使用的内存大小_第5张图片

根据实际情况测试,没有任何效果。经过更换JDK,更换不同版本的Tomcat(Tomcat6,Tomcat7, x64版,i86版,安装版,免安装版),无一种有效。后来发现有另外一个地方需要设置,如下图所示:

MyEclipse配置启动Tomcat时的jvm使用的内存大小_第6张图片

这个地方大概是设置Tomcat启动时,调用的JVM的启动参数,只有这里设置的值足够大,Tomcat启动时设置的内存值才有意义。修改后从MyEclipse启动。通过VisualVM可以看到heap和Perm的最大值都相应的扩大了。


你可能感兴趣的:(java,web,环境搭建)