tomcat运行时JVM参数调整

时间:2021-11-04 15:16:41

进入tomcat/bin目录

catalina.bat 中加入
set JAVA_OPTS=-Xms210m -Xmx256m -Xmn70m -XX:PermSize=150m -XX:MaxPermSize=256m -XX:+PrintGCDetails -Djava.rmi.server.hostname=172.16.91.201 -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
catalina.sh中加入
JAVA_OPTS="-Xms800m -Xmx800m -Xmn300m -XX:SurvivorRatio=8 -XX:PermSize=200M -XX:MaxPermSize=250M -XX:+PrintGCDetails -Djava.rmi.server.hostname=172.16.11.52 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9110 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

常用参数设置

Trace 跟踪参数
-XX:+PrintGC 打印GC的简要信息
-XX:+PrintGCDetails  打印GC的详细信息
-XX:+PrintGCTimeStamps 打印GC发生的时间戳
-Xloggc:log/gc.log  输出GC日志
-XX:+PrintHeapAtGC  每一次GC后,都打印堆信息
-XX:+TraceClassLoading 监控类加载
-XX:+PrintClassHistogram 按下Ctrl+Break后打印类信息

Heap 堆分配参数
-Xmx 最大堆(上限)
-Xms 初始化堆的大小 JVM会尽可能维持在这个值
-Xmn 设置新生代的大小
-XX:NewRatio 新生代和老年代的比值 (Eden+2Survival)/Old(不含永久区) 3 表示新:老=1:3 新生代占堆的1/4
-XX:SurvivorRatio 幸存代和Eden初生代的比值 10表示两个Survivor:Eden=2:10  一个Survivor占新生代的1/12

-XX:+HeapDumpOnOutOfMemoryError  OOM时导出堆到文件
-XX:+HeapDumpPath  导出OOM的路径

No-Heap 参数

-XX:PermSize= 永久区初始大小

-XX:MaxPermSize= 永久区最大值

-Xss 栈大小