8、G1垃圾收集器

大纲

image-1662989547988

以前收集器特点

image-1662989568670

G1是什么

image-1662989587209
image-1662989596633

  • 特点
    image-1662989659737

底层原理

image-1662989676987

  • Region区域化垃圾收集器
    image-1662989694653
    image-1662989721900
    • image-1662989752032
  • 回收步骤
    image-1662989783826
  • 4步过程
    image-1662989793496

case案例

image-1662989858698

常用配置参数(了解)

image-1662989882116

  • -XX:+UseG1GC
  • -XX:G1HeapRegionSize=n:
    • 设置的G1区域的大小。值是2的幂,范围是1MB到32MB。目标是根据最小的Java堆大小划分出约2048个区域。
  • -XX:MaxGCPauseMills=n:
    • 最大GC停顿时间,这个是软目标,JVM将尽可能(但不保证)停顿小于这个时间
  • -XX:InitiatingHeapOccupancyPercent=n:
    • 堆占用了多少的时候就触发GC,默认为45
  • -XX:ConcGCThreads=n:
    • 并发GC使用的线程数
  • -XX:G1ReservePercent=n:
    • 设置作为空闲空间的预留内存百分比,以降低目标空间溢出的风险,默认是10%

和CMS相比的优势

image-1662990011912

小总结

image-1662990032102

最近的文章

9、生产环境服务器变慢,诊断思路和性能评估谈谈?

大纲整机:top运行有问题程序排查:运行top命令,如下:CPU:vmstat查看CPU(包含不限于)查看额外查看所有CPU核信息mpstat -P ALL 2每个进程使用CPU的用量分解信息pidstat -u 1 -p 进程编号内存:free应用程序可用内存数查看额外pidstat -p 进程号…

继续阅读
更早的文章

7、怎么查看服务器默认的垃圾收集器是哪个?生产上如何配置垃圾收集器的?谈谈你对垃圾收集器的理解?

大纲怎么查看默认的垃圾收集器是哪个?默认的垃圾收集器有哪些?(其实是7种,其中UseOldSerialGC被废弃了,源码中没有了)垃圾收集器部分参数预先说明Server/Client模式分别是什么意思新生代串行GC(Serial)/(Serial Copying)并行GC(ParNew)并行回收GC…

继续阅读