Tomcat8.5,jdk8
配置参数说明 -Xms:初始堆大小
-Xmx:最大堆大小
-XX:NewSize:设置年轻代大小
-XX:NewRatio:设置年轻代和年老代的比值
-XX:SurvivorRatio:年轻代中Eden区与两个Survivor区的比值
-XX:PermSize:设置持久代大小
-XX:ParallelGCThreads:设置并行收集器收集时使用的CPU数,并行收集线程数
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的配置直接就子啊对应设置里,省略。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)