java -XX:+PrintCommandLineFlags -version : 查看使用的垃圾回收器
java -XX:+PrintFlagsFinal | more: 查看-XX所有参数
java -XX:+PrintFlagsFinal | wc -l : 查看-XX所有命令个数
1.堆设置
-Xms:初始堆大小
-Xmx:最大堆大小
-XX:NewSize=n:设置年轻代大小
-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。默认为8:1:1,注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5
-XX:MaxPermSize=-n:设置持久代大小
2.收集器设置
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParal.1elGC:设置并行收集器
-XX:+UseParal1ed1 01dGC:设置并行年老代收集器
-XX:+UseConcMarkSweepGC:设置并发收集器
3.垃圾回收统计信息
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimestamps
-Xloggc:filename
4.并行收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的cPU数。并行收集线程数。
-XX:MaxGCPauseMil1is=n:设置并行收集最大暂停时间
-XX:GCTimeRatio:=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
5.并发收集器设置
-XX:+CMSIncrementalMode:设置为增量模式。适用于单cpU情况。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的cPU数。并行收集线程数。
6.设定日志参数
1.-Xloggc:/opt/xxx/logs/xxx-xxx-gc-%t.log -XX:+UseGCLogFileRotation-XX:NumberOfGCLogFiles=5
-XX:GCLogFileSize=20M-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCCause
设置5个日志文件,每个20M,最后一个满了,覆盖第一个
2.或者每天产生一个日志文件