windows中你们都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在必定程度都会影响程序的性能。好比说在应用程序用到最大内存的时候,JVM是要先去作垃圾回收的动做,释放被占用的一些内存。 java
因此想调整Tomcat的启动时初始内存和最大内存就须要向JVM声明,通常的JAVA程序在运行均可以经过中-Xms -Xmx来调整应用程序的初始内存和最大内存:windows
如:java -Xms64m -Xmx128m a.jar.tomcat
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置 服务器
有两种方法: app
1. 适合用%tomcat_home%\bin中的startup.bat脚本启动,须要在环境变量中加上CATALINA_OPTS这个属性 。性能
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;spa
ms是最小的,mx是最大,64m, 512m分别是指内存的初始和最大容量.内存
由于:用startup.bat启动tomcat服务器,会调用catalina.bat文件,在Catalian.bat文件的166行“rem Execute Java with the applicable properties ”下面会加载系统设置的相关属性。rem
其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。it
2. 适合将tomcat做为系统服务启动,这时候上面设置CATALINA_OPTS 属性的方法就不适用了,由于做为系统服务的话,系统启动时调用的是 %tomcat_home%\bin\tomcat5w.exe,他读取注册表中的值,而不是catalina.bat的设置,所以须要修改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcat7\Parameters\Java下的JvmMs和JvmMx,