在window->preferences->myeclipse->application server->tomcat 5->jdk->optional java jvm arguments里加:
-Xms256m -Xmx512m -Xss4M -XX:MaxPermSize=256m
一、在Tomcat中增加JVM内存
关键字: jvm
大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms64m -Xmx128m a.jar.
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。
在Tomcat在改变这个设置有两种方法:
1. 就需要在环境变量中加上TOMCAT_OPTS, CATALINA_OPTS两个属性,
SET CATALINA_OPTS= -Xms256m -Xmx512m
SET TOMCAT_OPTS= -Xms256m -Xmx512m
ms是最小的,mx是最大,256m, 512m分别是指内存的容量.
2. 修改Catalina.bat文件
在92行后面增加 set JAVA_OPTS = -Xms256m -Xmx512m
SET CATALINA_OPTS= -Xms256m -Xmx512m
二、TOMCAT JVM设置
1:TOMCAT初始JVM大小为64M,在将应用正式部署后,可以通过调整catalina.bat中的内容调整tomcat的初始JVM大小,以获得更好的性能
2:修改 bin目录下的/catalina.bat
3:查找 %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Xms256m -Xmx256m
4:Xms为初始最小分配内存,Xmx为最大允许分配内存。
具体的帮助可以使用java -X -help看相关的参数含义
5:一般将xms和xmx设定为同样的值
6:通过Tomcat Manager 中 Server Status 可以浏览内存使用情况根据程序需要调整其大小
Eclipse
1:在ECLIPSE目录中查找到eclipse.ini
默认情况
-vmargs
-Xms40m
-Xmx256m
可以适当修改其中参数的值
然后重新启动ECLIPSE
三、windows NT操作系统:
在catalina.bat最前面加入
set JAVA_OPTS=-Xms128m -Xmx350m
如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..
windows服务执行的是bin\tomcat.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
加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效
四、使用jdk下的bin\jconsole.exe启动java监视和管理控制台
修改注册表(在tomcat5.5测试,需配置java环境变量),测试过可以使用、
Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java\Options加上
-Dcom.sun.management.jmxremote
-Xms128m
-Xmx350m