JVM/GC/CMS

news2025/1/24 18:02:35

CMS (Concurrent Mark Sweep)

  • jdk1.4后期版本开始引入的新gc算法
  • ParNew(新生代) + CMS(老年代)组合使用
  • 使用标记-清除算法
  • 目标:适合于B/S等对响应时间要求高的场景
  • 缺点:运行结束产生大量空间碎片
  • 缺点:由于分配给用户使用的老年代空间不足造成可能出现“Concurrent Mode Failure”

流程

在这里插入图片描述
CMS使用标记-清除算法

  • 初始标记(STW)
  • 预先清除
  • 最终标记(STW)
  • 并发清除

Concurrent Mode Failure

  • 问题:并发清除阶段应用线程和GC线程是同时运行的,也就是对象的分配和对象的清除是同时运行的。如果,分配给应用线程使用的老年代空间不足就会出现“并发模式错误”Concurrent Mode Failure。
  • GC:“并发模式错误”将引起一次Full GC,调用Serial Old收集器重新对老年代进行垃圾回收,此时的停顿时间将明显延长。
  • 解决:Concurrent Mode Failure可以通过减少"CMS初始占用内存比例" -XX:CMSInitiatingOccupancyFraction参数,以扩大应用线程可用老年代内存空间比例,进而降低出现“并发模式错误”Concurrent Mode Failure的概率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413657.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文快速回顾 Servlet、Filter、Listener

什么是Servlet? 前置知识: Web 服务器:可以指硬件上的,也可以指软件上的。从硬件的角度来说, Web 服务器指的就是一台存储了网络服务软件的计算机;从软件的角度来说, Web 服务器指的是一种软件…

使用codon加速你的python程序

使用codon加速你的python程序 作为高性能 Python 编译器,Codon 可将 Python 代码编译为本机机器代码,而无需任何运行时开销。在单线程上,Python 的典型加速大约为 10-100 倍或更多。Codon 的性能通常与 C/C 的性能相当。与 Python 不同&#…

Three.js教程:第一个3D场景

推荐:将NSDT场景编辑器加入你3D工具链其他工具系列:NSDT简石数字孪生下面的代码完整展示了通过three.js引擎创建的一个三维场景,在场景中绘制并渲染了一个立方体的效果,为了大家更好的宏观了解three.js引擎, 尽量使用了…

【linux】进程和线程的几种状态及状态切换

文章目录一、进程的状态1.1 进程的三种状态1.2 三种状态转换图1.3 三种状态之间的转换1.4 linux下的进程进程状态二、线程的状态三、总结一、进程的状态 1.1 进程的三种状态 进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进…

安装spacy+zh_core_web_sm避坑指南

目录 一、spacy简介 二、安装spacy 三、安装zh_core_web_sm 四、安装en_core_web_sm 五、效果测试 5.1 英文测试 5.2 中文测试 一、spacy简介 spacy是Python自然语言处理(NLP)软件包,可以对自然语言文本做词性分析、命名实体识别、依赖…

Java数组的四种拷贝方式

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

ERTEC200P-2 PROFINET设备完全开发手册(3-2)

周期数据分为两大类,输出数据OutputData和输入数据InputData,输出数据是PLC发送给设备的;输入数据是设备发送给PLC。如果采用标准接口(SI),读取输出数据和写入输入数据都是一次初始化数据读写调用和一次/多…

【ChatGPT】多国“围堵”,万人抵制,AI发展的红线到底在哪?

个人主页:【😊个人主页】 文章目录前言Chatgpt💻💻💻多国拟发ChatGPT禁令🈲🈲🈲开端发展高潮联名抵制自我辩解🎛️🎛️🎛️名家争言比尔盖茨&…

TiDB进阶篇-TiKV架构

简介 简要的介绍下TiKV的架构。 底层存储RocksDB RocksDB的写操作 在写入WAL的时候为了防止操作系统写入的时候有缓存,要设置操作系统的参数sync_logtrue,也就是说只要有数据就执行刷写到磁盘,就不会存储到操作系统的缓存了。MemTable的数据…

【Python】无限逼近求积分

✨博文作者 wangzirui32 💖 喜欢的可以 点赞 收藏 关注哦~~ 👉本文首发于CSDN,未经许可禁止转载 Hello,大家好,我是wangzirui32,今天我们来学习如何用Python无限逼近求积分,开始学习吧&#xff…

krita源码提供了Tarball 和KDE Repository两套源码的区别

krita系列文章目录 文章目录krita系列文章目录前言一、Tarball 和KDE Repository区别是什么?二、使用步骤前言 krita官方主页 krita官方下载界面 krita源码提供了Tarball 和KDE Repository两套源码,我一下就懵圈了,不知道两者的区别 一…

第二章 自然语言处理与单词的分布式表示

目录2.1 自然语言处理(Natural Language Processing,NLP)2.2 同义词词典2.2.1 WordNet2.2.2 同义词词典的问题2.3 基于计数的方法2.3.1 基于 Python的语料库的预处理2.3.2 单词的分布式表示2.3.3 分布式假设2.3.4 共现矩阵2.3.5 向量间的相似…

有哪些中西合璧的建筑设计?

所谓中西合璧,中即中华文化,体系繁多,源远流长,浩如烟海,是世界三大文化体系之一,在历史上曾是东亚文化的中心,一度影响欧洲;西即西方文化,西方物质文明和精神文明&#…

【JSP学习笔记】1.JSP 教程、简介及开发环境搭建

前言 本章介绍JSP的教程、简介及开发环境搭建。 JSP 教程 JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。 JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户…

2022国赛30:windows脚本题解析

大赛试题内容: ( 九) ) 脚本 【任务描述】 为了减少重复性任务的工作量,节省人力和时间,请采用脚本,实现快速批量的操作。 1.在 windows4 上编写 C:\CreateFile.ps1 的 powershell 脚本,创建20 个文件 C:\test\File00.txt 至 C:\test\File19.txt,如果文件存在,则首先删除…

Servlet初始化参数设置\获取,全局初始化参数的设置、获取

之前在学习SpringMVC、SpringSecurity时,会用到Filter,需要对Filter进行参数配置,而Filter本质上也是一个Servlet,然后对Servlet设置初始化参数已经忘记了,所以打算重新回顾并整理Servlet这一部分的内容(虽…

[Netty源码] 编码和解码相关问题 (十二)

文章目录1.编码和解码的介绍2.相关继承3.解码器分析3.1 ByteToMessageDecoder基类3.2 FixedLengthFrameDecoder3.3 LineBasedFrameDecoder3.4 DelimiterBasedFrameDecoder3.5 LengthFieldBasedFrameDecoder4.编码器分析4.1 解码过程分析4.2 writeAndFlush方法分析4.3 MessageTo…

2007-2020年国际产权指数InternationalPropertyRightsIndex(IPRI)IPRI

2007-2020年国际产权指数InternationalPropertyRightsIndex(IPRI)IPRI 1、来源:国际产权联合会 International Poverty Right Alliance 2、时间:2007-2020 3、范围:全球 4、指标说明: country、region、score、annual change…

提高软件测试效率的6大注意事项

1、测试策略非常重要 测试策略的基础是风险评估,我们需要通过失效概率和失效影响两个维度,对风险进行高、中、低的区分和可能性的判断。如CoCode开发云能够根据风险影响等级,自动计算出风险系数,并对风险进行优先级划分。而系数超…

项目管理:我们每个人都是管理者

项目管理的技能在生活中时时能用到、处处可锻炼。只要有心,项目成员一样可以学习和实践项目管理知识,也可以说,我们每个人都是管理者。 1、管理是职能而不是职位 有的人认为项目管理只是管理者应该学的,其实不是这样的&#xf…