展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Parallel Scavenge收集器、Serial old收集器、Parallel old收集器

  • Parallel Scavenge收集器
Parallel Scavenge 收集器是⼀个新⽣代收集器,它也是使⽤复制算法的收集器,⼜是并⾏的多线程收集器
由于与吞吐量关系密切,Parallel Scavenge 收集器也经常称为“吞吐量优先”收集器
吞吐量是什么?CPU⽤于运⾏⽤户代码的时间与CPU总时间的⽐值,99%时间执⾏⽤户线程,1%时间回收垃圾 ,这时候吞吐量就是99%
  • 与parnew垃圾收集器类似,需要先暂停用户线程,等gc回收完成后,再开启用户线程

  • 特点

Parallel Scavenge 收集器的特点是它的关注点与其他收集器不同,CMS 等收集器的关注点是尽可能地缩短垃圾收集时⽤户线程的停顿时间,⽽ Parallel Scavenge 收集器的⽬标则是达到个可控制的吞吐(Throughput)。
所谓吞吐量就是 CPU ⽤于运⾏⽤户代码的时间与 CPU 总消耗时间的⽐值,即吞吐量=运⾏⽤户代码时间/(运⾏⽤户代码时间+垃圾收集时间),虚拟机总共运⾏了 100 分钟,其中垃圾收集花掉 1 分钟,那吞吐量就是 99%
停顿时间越短就越适合需要与⽤户交互的程序,良好的响应速度能提升⽤户体验,⽽⾼吞吐量则可以⾼效率地利⽤ CPU 时间,尽快完成程序的运算任务,主要适合在后台运算⽽不需要太多交互的任务。
虚拟机会根据当前系统的运⾏情况收集性能监控信息,动态调整这些参数以提供最合适的停顿时间或者最⼤的吞吐量,这种调节⽅式称为 GC⾃适应调节策略
-XX:MaxGCPauseMillis参数GC停顿时间,这个参数配置太⼩的话会发⽣频繁GC
-XX:GCTimeRatio参数表示吞吐量的值,默认为99%
  • Serial old收集器
它是⼀个单线程收集器,使⽤"标记--整理"算法
  • Parallel old收集器
Parallel Scavenge收集器的⽼年代版本,使⽤多线程+标记整理算法
posted @   DogLeftover  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-09-15 ts基础
点击右上角即可分享
微信分享提示