其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置
三、实例,以下给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:
NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m
-XX:NewSize=192m -XX:MaxNewSize=384m"
Linux系统:在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh
添加:JAVA_OPTS='-Xms512m -Xmx1024m'
要加“m”说明是MB,否则就是KB了,在启动tomcat时会 报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值
Windows系统:在catalina.bat最前面加入
set JAVA_OPTS=-Xms512m -Xmx1024m
如果用startup.bat启动tomcat,OK设置生效.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用...
原因就是:windows服务执行的是bin\tomcat7.exe.他读取注册表中的值,而不是catalina.bat的设置.
我的解决思路是修改Tomcat服务设置的启动参数,具体如下:
1.停止Tomcat服务
运行命令:sc stop Tomcat
2.卸载Tomcat服务
运行命令:sc delete Tomcat
3. 修改service.bat文件
在第一行前面加入下面的语句:
SET CATALINA_HOME=%自己的Tomcat路径% (例:C:\Program Files\Tomcat\apache-tomcat-7.0.64)
SET SERVICE_NAME=Tomcat (服务的名字,在命令行中通过该名字进行服务的控制(启动/关闭))
SET PR_DISPLAYNAME=Tomcat (服务的显示名称,即在服务管理器中显示的名称.)
--JvmMs 512 ^ (根据自己服务器的情况设置)
--JvmMx 1024 (根据自己服务器的情况设置)
4. 安装Tomcat服务
在DOS命令界面,进入Tomcat的bin目录下:
cd C:\Program Files\Tomcat\apache-tomcat-7.0.64\bin
安装名称为Tomcat的服务:
运行命令:service.bat install Tomcat
5. 设置Tomcat服务自动启动
运行services.msc命令,找到名为tomcatServer的服务,将启动类型设置为自动
6. 重起Tomcat服务,设置生效