美文网首页
JVM参数总结

JVM参数总结

作者: nhhnhh | 来源:发表于2020-05-06 21:55 被阅读0次

    看了下线上tomcat的启动参数(从catalina.sh查看启动参数),总结一下每个参数的意义:
    -Xms6g JVM初始分配的堆内存6g(一般来说是2g,但是因为做的是paas,对象的内存结构没有优化,导致一个对象特别大)
    -Xmx6g JVM初始分配的堆内存6g
    -XX:MetaspaceSize=4g JVM初始分配的元空间
    -XX:MaxMetaspaceSize=4g JVM最大的元空间
    -XX:NewSize=1g 新生代初始内存大小
    -XX:MaxNewSize=1g 新生代最大内存大小
    -XX:ParallelGCThreads=4 GC时进行内存回收的线程数
    -XX:MaxTenuringThreshold=9 熬过9次young GC就进入老年代
    -XX:+UseConcMarkSweepGC 使用ParNew+CMS+SerialOld进行组合回收,当CMS失败时,SerialOld作为后备回收器
    -XX:+DisableExplicitGC 忽略System.gc()方法触发的垃圾回收
    -XX:+UseCMSInitiatingOccupancyOnly 强迫JVM仅仅使用CMSInitiatingOccupancyFraction的值作为触发CMS的因素
    -XX:+ScavengeBeforeFullGC 开启在full GC之前触发一次minor GC
    -XX:+UseCMSCompactAtFullCollection 在CMS回收老年代之后进行一次内存碎片整理
    -XX:+CMSParallelRemarkEnabled 并行的进行remark标记,降低GC停顿时间
    -XX:CMSFullGCsBeforeCompaction=9 9次CMS老年代回收之后,进行一次内存碎片整理
    -XX:CMSInitiatingOccupancyFraction=60 当老年代使用比率达到这个值时,触发cms
    -XX:+CMSClassUnloadingEnabled 启用CMS清理永久代的功能,CMS卸载无用的class
    -XX:SoftRefLRUPolicyMSPerMB=0 每次GC时,将软引用回收掉
    -XX:-ReduceInitialCardMarks 关闭性能优化策略
    -XX:+CMSPermGenSweepingEnabled 启用CMS清理永久代
    -XX:CMSInitiatingPermOccupancyFraction=70 永久代使用比率达到多少时,会回收永久代
    -XX:+ExplicitGCInvokesConcurrent System.gc()时会做background模式CMS GC,即并行FULL GC,可提高FULL GC效率
    -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -XX:+PrintGCDetails 输出详细的GC日志
    -XX:+PrintGCTimeStamps 输出gc时间戳
    -XX:+PrintGCApplicationConcurrentTime 打印每次垃圾回收前,程序未中断的执行时间
    -XX:+PrintHeapAtGC HotSpot在GC前后都会将GC堆的概要状况输出
    -Xloggc:/data/applogs/heap_trace_%t.txt
    -XX:-HeapDumpOnOutOfMemoryError 内存溢出时打印dump文件
    -XX:HeapDumpPath=/data/applogs/HeapDumpOnOutOfMemoryError

    相关文章

      网友评论

          本文标题:JVM参数总结

          本文链接:https://www.haomeiwen.com/subject/fjggghtx.html