目录
1、未安装成Windows服务的情况(双击bin目录中的startup.bat启动Tomcat,会出现命令窗口):
2、安装成Windows服务的情况(在Windows服务列表中启动Tomcat,不会出现命令窗口):
配置环境说明:
JDK版本:1.8.0_172 x64位
Tomcat 版本:apache-tomcat-8.0.15 x64位解压版
操作系统:Windows/Linux
一、Windows下设置Tomcat JVM参数
1、未安装成Windows服务的情况(双击bin目录中的startup.bat启动Tomcat,会出现命令窗口):
参数修改步骤:
①修改{tomcat_home}\bin目录下的catalina.bat文件,在setlocal这行代码前面加入如下两行配置信息:
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding="UTF-8" -Dsun.jnu.encoding="UTF8" -Ddefault.client.encoding="UTF-8" -Duser.language=Zh
set JAVA_OPTS=%JAVA_OPTS% -server -Xms8192m -Xmx8192m -Xmn4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC
新增配置参数的第二行配置可以根据服务器的实际内存进行调整,建议参数如下:
rem 如果服务器只运行一个 Tomcat
rem 服务器内存如果是 4G 第二行设置为:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms2048m -Xmx2048m -Xmn1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC
rem 服务器内存如果是 8G 第二行设置为:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms4096m -Xmx4096m -Xmn2048m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC
rem 服务器内存如果是 16G 第二行设置为:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms8192m -Xmx8192m -Xmn4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC
rem 服务器内存如果是 32G 第二行设置为:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms16384m -Xmx16384m -Xmn8192m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC
②双击{tomcat_home}\bin目录下的startup.bat文件,启动tomcat,查看tomcat启动后命令窗口中的日志,通过日志中打印的jvm参数可以看出配置是否生效。
注意:这种配置方式只有双击startup.bat文件启动tomcat服务时才会生效,安装成windows服务方式启动的tomcat这种配置不会会生效。
2、安装成Windows服务的情况(在Windows服务列表中启动Tomcat,不会出现命令窗口):
参数修改步骤:
①运行(快捷键win+R)输入regedit,打开注册表
②找到目录Apache Software Foundation\Procrun 2.0\Tomcat\Parameters\Java
注册表中apache的具体路径说明
32位机器的路径是:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
64位机器的路径是:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation
③修改JvmMs的参数(Jvm中Xms的大小)
④修改JvmMx的参数(Jvm中Xmx的大小)
⑤修改Options的配置
增加的三行配置:
-XX:PermSize=256M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m
注意:步骤③④⑤中的配置可以根据服务器的内存自行调整,具体数值可以参照第一种情况的建议参数进行配置
二、Linux下设置Tomcat JVM参数
在对应linux下的tomcat版本中,修改 catalina.sh
# vi /usr/tomcat/bin/catalina.sh
注:/usr/tomcat/bin/catalina.sh 是 tomcat所在目录的bin目录 (linux环境下)
找到 # OS specific support. $var _must_ be set to either true or false.(大概在113行)
在上句之前加入:
# CATALINA_OPTS
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server -Xms8192m -Xmx8192m -Xmn4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"
根据服务器的内存设置相应的JVM参数大小,建议配置如下:
# 如果服务器只运行一个 Tomcat
# 服务器内存如果是 4G:
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server -Xms2048m -Xmx2048m -Xmn1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"
# 服务器内存如果是 8G:
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server -Xms4096m -Xmx4096m -Xmn2048m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"
# 服务器内存如果是 16G:
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server -Xms8192m -Xmx8192m -Xmn4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"
# 服务器内存如果是 32G:
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server -Xms16384m -Xmx16384m -Xmn8192m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:SurvivorRatio=10 -XX:MaxTenuringThreshold=15 -XX:NewRatio=2 -XX:+DisableExplicitGC"