window修改catalina.sh(如果是linux 系统则修改catalina.sh文件)中JAVA_OPS参数如下:
-Djava.awt.headless=true#使用java-PJA处理图片
-Djava.net.preferIPv4Stack=true#在支持 IPv4 映射地址的 IPv6 网络堆栈中可以使用 IPv6 套接字来连接到 IPv4 和 IPv6 主机以及接受来自这些主机的连接。
-Dcom.tc.productkey.path=/opt/tomcat/terracotta-license.key#BigMemory启用本地缓存避免触发gc,存放地址
-Dlocal.ip=10.10.4.35#本机ip
-Djava.util.Arrays.useLegacyMergeSort=true#兼容老版本中的排序算法
-Djava.rmi.server.hostname=10.10.4.35#配置RMI监控,多网卡的服务器开启RMI时指定IP用
-Dcom.sun.management.jmxremote#打开tomcat jmx支持
-Dcom.sun.management.jmxremote.port=1199#指定jmx端口号
-Dcom.sun.management.jmxremote.ssl=false#设置不支持ssl
-Dcom.sun.management.jmxremote.authenticate=false#设置不需要身份验证
-server
-Xmx8g#设置最大堆大小
-Xms8g#设置初始堆大小
-Xmn1024m#年轻代大小 整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小
-XX:SurvivorRatio=64m#设置年轻代中持久化区与幸存者区的比值
-XX:MetaspaceSize=256m#设置本地内存分配给类元数据的大小
-XX:MaxMetaspaceSize=256m#限制本地内存分配给类元数据的最大上限
-Xss256k#设置每个线程堆栈的大小,值小线程多,值大线程少
-XX:MaxDirectMemorySize=2G#BigMemory启用本地缓存避免触发gc,最大2G
-XX:+HeapDumpOnOutOfMemoryError#当发生内存溢出时,保存当前堆盗一个文件中,方便日后排查
-XX:+PrintGCDetails #打印GC发生的详细信息
-XX:+PrintGCDateStamps #打印GC发生的时间信息
-Xloggc:/opt/tomcat/logs/gc.log #日志产生的路径
-XX:+UseGCLogFileRotation #启用GC日志文件的自动转储
-XX:NumberOfGCLogFiles=5 #GC日志文件的循环数目
-XX:GCLogFileSize=50M #GC日志文件大小
-XX:HeapDumpPath=/opt/tomcat/logs/java.hprof#指定堆的存放路径
-XX:+DisableExplicitGC#禁止代码手动调用gc
-XX:+UseConcMarkSweepGC#设置并发收集器
-XX:+CMSParallelRemarkEnabled#降低标记停顿
-XX:+CMSConcurrentMTEnabled#使用并发的CMSGC收集器
-XX:+UseCMSCompactAtFullCollection#使用并发收集器时,开启对年老代的压缩
-XX:CMSFullGCsBeforeCompaction=1 #上面配置开启的情况下这里设置多少次Full GC后,对年老代进行压缩
-XX:LargePageSizeInBytes=64m#内存分页-单个页大小设置-即设置大内存分页
-XX:+UseFastAccessorMethods#快速优化-启用原始类型的getter方法优化
-XX:+UseCMSInitiatingOccupancyOnly#设置CMSGC收集器一直处于运行
-XX:CMSInitiatingOccupancyFraction=70#设置CMSGC70%占满时进行垃圾回收
-XX:-OmitStackTraceInFastThrow#当JVM检测到程序再重复抛异常时,在执行若干次后吞掉该异常.指定后禁用
-XX:+PrintCommandLineFlags#打印配置到日志文件上
-XX:+UnlockCommercialFeatures#开启JFR,启用资源管理,开启J2SE商业特性
-XX:+FlightRecorder#开启JFR