Java GC种类及配置说明
所属分类 java
浏览量 1541
串行 并行 并发 G1
STW Stop The World
吞吐量 响应时间
并行 多线程
并发 应用线程和GC线程同时执行
分代 分区
复制
标记 整理 压缩
-XX:+UseParallelGC 年轻代
XX:+UseParallelOldGC
UseParallelGC 不能与CMS一起工做
java -Xmx4096m -Xms4096m -Xmn2g -Xss128k -XX:UseParallelGC -XX:ParallelGCThreans=20
java -Xmx4096m -Xms4096m -Xmn2g -Xss128k -XX:UseParallelGC -XX:ParallelGCThreans=20 -XX:+UseParallelOldGC
java -Xmx4096m -Xms4096m -Xss128k -XX:MaxGCPauseMillis=100
设置年轻代垃圾回收的最长时间
-XX:+UseAdaptiveSizePolicy
JDK 1.8 默认使用 UseParallelGC ,默认启动 AdaptiveSizePolicy。
AdaptiveSizePolicy 三个目标
Pause goal 预期的 GC 暂停时间。
Throughput goal 预期的吞吐量 应用运行时间 / (应用运行时间 + GC时间)
Minimum footprint 尽可能小的内存占用量。
对于低延迟的应用 推荐使用 CMS !!! 默认关闭 AdaptiveSizePolicy
响应时间优先 并发收集器
CMS Concurrent Mark Sweep
-XX:+UseConcMarkSweepGC
XX:+UseConcMarkSweepGC -XX:+UseParNewGC
jdk5以上 开启 cms后,年轻带默认使用 UseParNewGC
并发收集器默认不压缩、整理 会产生内存碎片
-XX:CMSFullGCsBeforCompaction=5 -XX:+UseCMSCompactAtFullCollection
设置5次Full GC后,对年老代进行压缩
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=xxx
-XX:+UseCMSInitiatingOccupancyOnly
CMS默认GC线程数 ParallelGCThreads + 3)/4
可以指定 -XX:ParallelCMSThreads=xxx
开启CMS回收Perm区
-XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
默认老年代占用68% 启动cms ,可以调高 ,譬如
-XX:CMSInitiatingOccupancyFraction=80
年轻代的并行收集线程数设置 -XX:ParallelGCThreads=N
Prommotion failed gc 日志
ParNew (promotion failed) xxxxxxxxx
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
-XX:+UseSerialGC
-XX:+UseSerialOldGC
-XX:+UseG1GC
-XX:+PrintFlagsInitial
-XX:PrintFlagsFinal
-XX:+UnlockExperimentalVMOptions 解锁实验参数
-XX:+UnlockDiagnosticVMOptions 解锁诊断参数
-XX:+PrintCommandLineFlags 打印命令行参数
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/heapdump.hprof
-XX:OnOutOfMemoryError=xxx 发生OOM时,执行指定脚本
设置GC日志滚动
-Xloggc:/home/dyyx/soft/benchmark7020/gclogs/gc.log
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=3
-XX:GCLogFileSize=10M
-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps
2019-04-12T18:28:38.025-0800: 163.973
各种垃圾收集器的特点及使用场景
上一篇
下一篇
spring常用注解
proc diskstats 字段说明
FileInputStream无法读取完整数据问题解决
LSM Tree 要点整理
java GC之 CMS 和 G1
统一运维监控平台相关资料整理