JVM参数调优

通用参数优化

-Xms35g            堆的最大内存

-Xmx35g            堆的最小内存

-Xss1024            线程栈内存大小,默认是1024单位是KB

-Xmn10g            新生代内存大小

-XX:NewRatio=4          新生代(Eden和两个Survivor)和老年代内存大小比例

-XX:SurvivorRatio=4                          Eden和Survivor分区比例,默认是8

-XX:MaxPermSize=16m                    永久代内存大小

XX:MaxTenuringThreshold=5              新生代转化为老年代时垃圾回收年龄即次数,G1中默认是15,越小,majorGC越频繁

-XX:-UseGCOverheadLimit    取消垃圾回收内存限制

-XX:MaxDirectMemorySize=10g  设置对外内存大小,默认和Xmx一样大

 -XX:+HeapDumpOnOutOfMemoryError   内存溢出时dump快照用于分析

-XX:+HeapDumpBeforeFullGC       fullGCq前dump一次

-XX:+HeapDumpAfterFullGC        fullGC后dump一次

-XX:HeapDumpPath=/tmp/       dump文件路径,每次dump就会生成一个文件,命名规则举例:/tmp/java_pid27301.hprof ,/tmp/java_pid27301.hprof.1

-XX:MaxDirectMemorySize=10g    堆外内存限制

-XX:-UseGCOverheadLimit           取消GC时内存限制

G1收集器参数优化

-XX:+UseG1GC                指定G1搜集器

-XX:+PrintFlagsFinal

-XX:+PrintReferenceGC

-XX:+PrintGCDetails

-XX:+PrintGCDateStamps

-XX:+PrintGCTimeStamps

-XX:+PrintAdaptiveSizePolicy

-XX:+PrintGCApplicationConcurrentTime 

-XX:+PrintGC -Xloggc:/tmp/spark.gc.log              G1的垃圾日志路径

-XX:+UnlockDiagnosticVMOptions

-XX:+G1SummarizeConcMark

-XX:InitiatingHeapOccupancyPercent=35             并行时线程数,G1的阶段1数

-XX:ConcGCThreads=15                                       并发线程 , G1的阶段2线程数

原文地址:https://www.cnblogs.com/geektcp/p/9964852.html