Tomcat8 设置JAVA_OPTS启动参数,Tomcat服务器调优
Tomcat8 设置JAVA_OPTS启动参数,Tomcat服务器调优
环境:Centos7,Server version: Apache Tomcat/8.5.5,JDK1.8
1.在apache-tomcat/bin目录下新建setenv.sh文件
在tomcat8的catalina.sh中,针对如何设置环境变量进行了注释说明,不要直接在catalina.sh中设置环境变量。需要在在apache-tomcat/bin目录下新建setenv.sh文件,专门存放自定义的环境变量。
2.编辑setenv.sh文件,添加环境变量
export JAVA_OPTS="-server -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+AggressiveOpts -Xms8g -Xmx8g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/log/"
增加的参数作用:
-
-Xms8g:初始化堆内存8g -
-Xmx8g : 最大堆内存8g,一般设置为物理内存的3/8~4/8,并且和初始堆内存大小一致。设置成一致为了避免在生产环境由于heap内存扩大或缩小导致应用停顿,降低延迟,同时避免每次垃圾回收完成后JVM重新分配内存。 -
-XX:+HeapDumpOnOutOfMemoryError :生产环境必须设置的参数,当堆抛出OOM错误时,dump出当前的内存堆转储快照。 -
-XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java_<pid><date><time>_heapDump.hprof -
-XX:+UseG1GC:优先启用G1垃圾回收器。它是一种服务器式垃圾回收器,针对具有大量RAM的多处理器机器。它以高概率满足GC暂停时间为目标,同时保持良好的吞吐量。G1垃圾回收器推荐用于需要大内存(大小约6 GB或更大)的应用,并要求有限的GC延迟要求(稳定和可预测的暂停时间低于0.5秒)。 -
-XX:MaxGCPauseMillis=500:设置最大GC暂停时间的目标值(以毫秒为单位)。这是一个柔和的目标,JVM将尽其最大努力来实现它。默认情况下,没有最大暂停时间值。 -
-XX:+AggressiveOpts:允许使用积极的性能优化功能,预计这些功能将在即将发布的版本中成为默认功能。默认情况下,此选项被禁用,并且不使用这些带实验性的性能优化功能。
|