欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

G1收集&参数 博客分类: java

程序员文章站 2024-03-18 18:12:22
...

G1垃圾收集 http://www.javaadu.online/?p=465

新生代收集stw,会并发执行,通常很快(即可忽略影响)

并发周期通常会多次young gc和1次mixed gc, 并发标记的初始标记阶段,通常是在young gc阶段同时完成

 

jdk8 之后的jvm重要参数

metaspace 堆外内存(native heap),永久代移除,方法区移到metaspace,减少加载类导致的 OOM

-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=900m

 

设置codecache的大小,比如我们jit编译的代码都是放在codecache里的

-XX:ReservedCodeCacheSize=256m 

 

MaxDirectMemorySize 堆外内存用于设置java.nio direct-buffer最大大小,direct buffer创建开销比heap buffer大,但是传输数据效率高(copy次数少)

-XX:MaxDirectMemorySize=2g 

 

触发标记周期的heap占用率值

-XX:InitiatingHeapOccupancyPercent=50

 

预期每次gc最大停顿时间 

 -XX:MaxGCPauseMillis=800

 

每个线程的栈大小

-Xss1M

 

-XX:ParallelGCThreads  gc工程线程数,一般不用设置,cpu核数小于8,跟cpu核数一致,大于8则会算一个更小的值

 

在容器和G1背景下,xmn xms xmx一般不用设置,由G1自动设置即可,仅指定heap大小就可以,java heap内存占用物理机或容器的百分比

-XX:InitialRAMPercentage=60 -XX:MaxRAMPercentage=60