图解CMS&G2(下)

简介: 图解CMS&G2(下)

image.png

image.png


按照回收收益比排序 收益比更高的优先回收
每个区的回收时间是由这个区的存活对象复制到空白区域的时间来决定的

回收时间


image.png

停顿时间设置的太短有什么影响?

默认是200毫秒 如果设置为10毫秒
停顿时间设置过短 一次清理的垃圾比较少
垃圾就会越积越多 就会触发FGC
停顿时间就会失效

G1垃圾收集分类

  • minor gc

image.png


在触发minor gc之前会计算下当前的eden区回收时间是否会超过最大停顿时间 
如果接近就会触发
如果不接近 就不会触发 继续加eden区域空间
eden区空间最多不会超过设置的值 默认是60%
  • MixedGC


image.png


image.png

image.png



G1参数设置


eden存活对象超过85%(该参数可以设置) 回收意义不大

一次回收过程中默认做8次筛选回收

筛选回收阶段 为了提升用户的体验 可以设置一次gc过程筛选回收的次数
假设有80%的垃圾需要回收
默认停顿时间200ms
g1不会一次性回收完
回收一次 回收线程暂停下 让应用线程执行
然后回收线程再执行
该过程是串行的 不是并发的
如果垃圾比较多的情况下 有必要把这个参数设置的大些
这样stw的时间就会短一些 用户体验会好一些

image.png


最大停顿时间设置

根据一次gc之后 有多少个对象可以存活 避免存活对象太多、太快进入老年代


垃圾收集器选择

image.png

如果内存大小在4-8G JDK1.8用CMS效率是比G1要好
G1在jdk1.8版本算法性能不是最优

G1使用场景

比如Kafaka 单机可以处理 上百万/s 并发
底层也是基于JVM
或者秒杀系统 一定得是大内存去部署 且使用G1垃圾收集器
Kafka线上推荐使用64G内存

image.png


对于Kafka来说 大部分对象在Minor GC都会被回收

Minor GC效率是否高?

对于几十G年轻代的Minor GC不一定比老年代的GC快
虽然老年代的收集算法比年轻代还要慢些
对于这种场景来说 不用G1,STW时间会很长

如果用G1则可以设置停顿时间 比如50毫秒 那每次可以回收几个G 边接受请求 边收集 用户体验会好很多 不会导致客户端发送消息超时的情况

相关文章
|
2月前
|
安全 前端开发 UED
除了wordpress CMS外,还有什么CMS值得我们使用?
作为建站的小白,前端不会开发、后台不会编写,用CMS来搭建网站是最理想的建站方式,经过线上的站长推荐,我认识了wordpress CMS,来自国外的一套CMS,使用上非常方便,熟悉时间不需要太长,也能快速进入建站的过程。
|
2月前
|
域名解析 SQL 前端开发
如何使用CMS来搭建一个网站?
在如今的时代,拥有一个网站成为每一家企业展现形象、拓展业务、传递信息的重要途径。网站在互联网上吸引潜在客户、合作伙伴。对于大多数希望自行建设网站的企业来说,内容管理系统(CMS)成为了理想选择。
121 8
|
1月前
|
自然语言处理 安全 前端开发
什么是CMS?CMS适合搭建什么网站?
CMS(内容管理系统)用于快速搭建、管理和发布网站内容。它支持自定义板块,降低建站门槛。CMS分为独立CMS和SaaS CMS两种类型,主要功能包括角色分配、SEO优化、多语言支持等。建站流程包括确定需求、选择系统、购买域名和主机、安装系统、选择模板、扩展栏目、添加内容、上线和维护。PageAdmin CMS是一款优秀的建站系统,推荐免费试用。
|
2月前
|
域名解析 前端开发 搜索推荐
什么叫CMS?如何使用CMS来制作网站?
PageAdmin CMS,是一套开发了17年,官网还持续在更新和维护的网站内容管理系统,对于领开发的用户来说,对于有网站优化的用户来说,PageAdmin CMS就能帮助我们快速搭建属于自己的个性网站或企业网站。
193 5
|
4月前
|
消息中间件 算法 前端开发
京东面试:说说CMS工作原理?
京东面试:说说CMS工作原理?
50 2
|
7月前
|
存储 算法 Java
深入浅出JVM(十七)之并发垃圾收集器CMS
深入浅出JVM(十七)之并发垃圾收集器CMS
|
算法 Java UED
深入解析CMS垃圾回收器
在CMS之前的垃圾回收器,要么就是串行垃圾回收方式,要么就是关注系统吞吐量,而 CMS 垃圾回收器的出现,则打破了这个尴尬的局面。
346 0
深入解析CMS垃圾回收器
|
算法 数据可视化 Java
细说jvm(六)、垃圾回收器CMS详解
细说jvm(六)、垃圾回收器CMS详解
443 0
|
算法 安全 Java
JVM - CMS深度剖析
JVM - CMS深度剖析
194 0