环境
Tomcat8.5,jdk8
配置参数说明
-Xms:初始堆大小
-Xmx:最大堆大小
-XX:NewSize:设置年轻代大小
-XX:NewRatio:设置年轻代和年老代的比值
-XX:SurvivorRatio:年轻代中Eden区与两个Survivor区的比值
-XX:PermSize:设置持久代大小
-XX:ParallelGCThreads:设置并行收集器收集时使用的CPU数,并行收集线程数
配置说明
情况一:在catalina.bat或catalina.sh文件里配置
LINUX环境
找到 tomcat 的 bin 目录下的 catalina.sh 文件,在第110行 # OS specific support. $var must be set to either true or false.
后,也就是shell代码开头,添加如下参数
JAVA_OPTS="-Xms512m -Xmx1024m -XX:ParallelGCThreads=8 -XX:PermSize=128m -XX:MaxPermSize=256m"
检验是否生效
运行startup.sh启动tomcat,输入如下命令
jps -v
如下图所示,JVM启动参数和我们添加的参数一样,说明有效。
WINDOWS环境
找到 tomcat 的 bin 目录下的 catalina.bat 文件,在第127行 set "CURRENT_DIR=%cd%"
后,添加设置JVM参数代码
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:ParallelGCThreads=8 -XX:PermSize=128m -XX:MaxPermSize=256m
运行startup.bat启动tomcat,然后命令行窗口中输入命令jvisualvm(打开JDK自带的JVM工具Java Visual),查看tomcat的JVM参数。检验是否生效
jvisualvm
如下图所示,JVM启动参数和我们添加的参数一样,说明有效。
情况二:在setenv.bat或者setenv.sh文件里配置
setenv.bat或者setenv.sh是tomcat的变量通用文件,里面的变量可以被多种启动器调用,可以被daemon.sh和startup.sh等启动器引用。如果tomcat的bin目录下没有这个文件,可以手动创建。以下是setenv.sh样本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # vim tomcat/bin/setenv.sh #add tomcat pid #CATALINA_PID="/var/run/tomcat.pid" #CATALINA_OPTS CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.8" #add JAVA_HOME #JAVA_HOME=/usr/java/default #add JAVA_OPTS JAVA_OPTS="-server -Xms512m -Xmx8192m -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:MaxNewSize=1024m" |
这边我们可以加上如下代码,方便查看
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"
运行catalina.sh,查看日志,可以看到配置的信息检测是否生效
windows下就是在setenv.bat文件里加上如下代码
set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx8192m -XX:MaxPermSize=256m -server"
eclipse、idea的配置直接就子啊对应设置里,省略。