Windows下调整服务版Tomcat启动参数
一、命令窗口输入
D:\Java\tomcat-7.0.57-Css\bin\tomcat7w.exe //ES//Apache_Tomcat_Css Service
通过上述命令可打开tomcat的管理页面,点击JAVA进入Java options 输入框
里面原内容:
-Dcatalina.home=D:\Java\tomcat-7.0.57-Css
-Dcatalina.base=D:\Java\tomcat-7.0.57-Css
-Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed
-Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties
在最后面加入:
-XX:PermSize=64M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m
点击应用,点击确认;
再 修改 D:\Java\tomcat-7.0.57-Css\bin 下的 service.bat 文件
找到下面这句:
set "SELF=%~dp0%service.bat"
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
在这句后面加上下局:
set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
保存后在服务上启动即可;
二、不注册服务,启动修改
修改 D:\Java\tomcat-7.0.57-Css\bin 下的 catalina.bat 文件
找到下面这句:
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
在这句后面加上下局:
set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
保存后启动即可;
三、注册服务 修改注册列表
运行 regedit
找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
1 运行 regedit
2 找到目录Apache Software Foundation\Procrun 2.0\Tomcat\Parameters\Java
3 编辑java的属性:JvmMs 最小占内存; JvmMx 最大占内存
注册表中apache的具体路径说明
32位机器的路径是:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
64位机器的路径是:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation
再往下找 Procrun 2.0\Tomcat7\Parameters\Java
有个 Options 设置
-Dcatalina.home=D:\Java\tomcat-7.0.57-Css
-Dcatalina.base=D:\Java\tomcat-7.0.57-Css
-Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed
-Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties
双击它进行编辑,在末尾增加下面行就搞定了:
-XX:PermSize=64M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m
Windows下调整基于startup.bat启动的Tomcat启动参数
在catalina.bat的第一行增加:
在catalina.sh的第一行增加:
set JAVA_OPTS=-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=64m -XX:MaxPermSize=128m
参数详解
-Xms JVM初始化堆内存大小
-Xmx JVM堆的最大内存
-Xss 线程栈大小
-XX:PermSize JVM非堆区初始内存分配大小
-XX:MaxPermSize JVM非堆区最大内存
<Connector port="8080"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000" //链接超时时长
redirectPort="8443"
maxThreads="500"//设定处理客户请求的线程的最大数目,决定了服务器可以同时响应客户请求的数,默认200
minSpareThreads="20"//初始化线程数,最小空闲线程数,默认为10
acceptCount="1000" //当所有可以使用的处理请求的线程数都被使用时,可以被放到处理队列中请求数,请求数超过这个数的请求将不予处理,默认100
enableLookups="false"
URIEncoding="UTF-8" />
Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。
Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,设置JVM内存:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xmx3550m -Xms3550m'
Tomcat 内存调整
CATALINA_OPTS="-Xms1024m -Xmx1024m -Xmn512m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=50"
-Xms【初始化内存大小】
-Xmx【可以使用的最大内存】
- Xmn【可以使用的最小内存】
-XX:UseConcMarkSweepGC:启用并发收集器(老年代并发收集器)
可以保证大部分工作都并发进行(应用不停止),垃圾回收只暂停很少的时间
-XX:+UseParNewGC:启用并发收集器(年轻代并发收集器)
-XX:CMSInitiatingOccupancyFraction=<N>:指定还有多少剩余堆时开始执行并发收集
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS=-Xmx3550m -Xms3550m 没起作用.
网友评论