首页   快速返回

Java GC种类及配置说明     所属分类 java
串行 并行 并发 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

统一运维监控平台相关资料整理