JVM--基础--19.4--垃圾收集器--Parallel Scavenge

2023-11-05

JVM–基础–19.4–垃圾收集器–Parallel Scavenge


1、结构图

2、Parallel Scavenge(并行)收集器

2.1、特征

  1. 新生代收集器
  2. 使用复制算法,并行的多线程收集器
  3. 控制的吞吐量
    1. 吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)
  4. 停顿时间越短就越适合需要与用户交互的程序,良好的响应速度能提升用户体验,而高吞吐量则可用高效率地利用CPU时间,尽快完成程序的运算任务,主要适合在后台运算而不需要太多交互的任务。
  5. Parallel Scavenge要和Parallel Old一起使用

2.2、参数

2.2.1、-XX:MaxGCPauseMillis:

  1. 控制最大垃圾收集停顿时间(毫秒),收集器尽可能的保证每次垃圾收集耗费的时间不超过这个设定值
    1. 如果这个这个值设定的过小,那么Parallel Scavenge收集器为了保证每次垃圾收集的时间不超过这个限定值,会导致垃圾收集的次数增加和增加年轻代的空间大小,垃圾收集的吞吐量也会随之下降。
  2. XX:MaxGCPauseMillis设置的越小,吞吐量则必然越小。

2.2.2、-XX:GCTimeRatio

  1. 设置垃圾收集时间占系统运行时间的百分比(>0,<100)
    1. 如果把值设置为19,即系统运行时间 : GC收集时间 = 19 : 1,那么GC收集时间就占用了总时间的5%【1 / (19 + 1) = 5%】
  2. 默认值为99,即最大允许1%的垃圾收集时间

2.2.3、-XX:+UseAdaptiveSizePolicy:

  1. 自动设置 新生代的大小、Eden与Survivor区的比例,晋升老年代对象年龄等细节参数
  2. 设置此选项后,虚拟机会根据当前系统的运行情况收集性能监控信息,动态调整这些参数以提供最合适的停顿时间或者最大的吞吐量,这种调节方式称为GC自适应的调节策略(GC Ergonomics)
  3. 只需要把基本的内存数据设置好(如-Xmx设置最大堆),然后使用MaxGVPauseMillis参数或GCTimeRation参数给虚拟机设立一个优化目标,JVM会自动调节其他优化参数.
  4. 自适应调节策略也是Parallel Scavenge收集器与ParNew收集器的一个重要区别
  5. 使用并行收集器时,建议一直打开
  6. 对于面向外部的大流量、低延迟系统,不建议启用此参数,建议关闭该参数

2.2、Parallel Scavenge/Parallel Old运行示意图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JVM--基础--19.4--垃圾收集器--Parallel Scavenge 的相关文章

随机推荐

  • [leetcode 周赛 150] 1161 最大层内元素和

    目录 1161 Maximum Level Sum of a Binary Tree 最大层内元素和 描述 思路 代码实现 1161 Maximum Level Sum of a Binary Tree 最大层内元素和 描述 给你一个二叉树
  • 网络编程(详)

    一 概述 计算机网络 是指将地理位置不同的具有 独立功能的多台计算机及其外部设备 通过通信线路连接起来 在网络操作系统 网络管理软件及网络通信协议的管理和协调下 实现资源共享和信息传递的计算机系统 网络编程 在网络通信协议下 实现网络互连的
  • MATLAB—GUI新手入门教程

    GUI界面基本操作 1 GUI界面介绍 2 各个控件的使用方法 2 1 1 按钮 2 1 2 滑动条 2 1 3 文本框 2 1 4 单选框和复选框和切换按钮 2 1 5 弹出式菜单和列表框 2 1 6 按钮组 2 1 7 菜单编辑器 常见
  • 基于Xml方式Bean的配置-beanName个别名配置

    SpringBean配置详解 Bean的基础配置 例如前文涉及到的配置文件
  • 深入解读SpringBoot是什么?它到底有什么用?

    现在Spring Boot 非常火 各种技术文章 各种付费教程 多如牛毛 可能还有些不知道 Spring Boot 的 那它到底是什么呢 有什么用 今天给大家详细介绍一下 SpringBoot相关的教程 我是跟着动力节点王鹤老师讲的spri
  • Selenium Web自动化基础

    1 selenium环境配置 selenium是一个python的开源库 使用pip就可以安装 直接在cmd或者pycharm的终端执行pip install selenium 即可完成selenium库的安装 如果出现以下 Error c
  • 跟着angularjs2官方文档学习(四)

  • MySQL的复制原理以及流程,读写分离有哪些解决方案?

    MySQL的复制原理以及流程 主从复制 将主数据库中的DDL和DML操作通过二进制日志 BINLOG 传输到从数据库上 然后将这些日志重新执行 重做 从而使得从数据库的数据与主数据库保持一致 主从复制的作用 主数据库出现问题 可以切换到从数
  • 安卓手机格式化怎么弄_安卓手机怎样进入格式化?

    展开全部 硬格方法如下 在关机状态下 同时32313133353236313431303231363533e58685e5aeb931333365646261按住开机键和侧音量键下键 以开启手机 长按侧音量键下键约15秒钟 直至手机屏幕显示
  • shell脚本实现for循环打印数组

    array beijing tianjin hebei echo array 0 for i 0 i lt array i do echo array i done 数组要用括号加空格的方式进行声明 利用 或 可以将数组扩展成列表 然后使用
  • 电子产品量产工具项目开发中遇到的问题(更新......)

    1 找不到tslib h库的头文件 这是因为找不到tslib库的头文件 确定工具链中头文件 库文件目录 对于 IMX6ULL 命令如下 echo main arm linux gnueabihf gcc E v 找到了编译器arm linu
  • Python数据分析之pandas学习

    Python中的pandas模块进行数据分析 接下来pandas介绍中将学习到如下8块内容 1 数据结构简介 DataFrame和Series 2 数据索引index 3 利用pandas查询数据 4 利用pandas的DataFrames
  • 记一次win10+VM16双机调试的经历

    折腾了两天 终于成功 基础配置 宿主机和客户机均为win10 虚拟机是vm16 一 宿主机中的虚拟机配置 1 打开设置 删除打印机 也可以不删 网上很多教程 2 点击添加 选择串行端口 确定 3 选择2中添加的串行端口 选择 使用命名管道
  • CSS cubic-bezier() 函数 贝塞尔曲线 动画

    https www runoob com cssref func cubic bezier html
  • Jgit基础教程(Java调用git)

    前言 最近公司需要做一个java调用git的工具 这里简单的介绍了一下基本操作方法以及一些衍生的信息获取 或有不对的地方请大家批评指正 转载请注明出处 一 Jgit依赖导入
  • 【C】快速求最大公约数的三种办法

    最大公因数 也称最大公约数 最大公因子 指两个或多个整数共有约数中最大的一个 a b的最大公约数记为 a b 同样的 a b c的最大公约数记为 a b c 多个整数的最大公约数也有同样的记号 求最大公约数有多种方法 常见的有质因数分解法
  • yolo类检测算法解析——yolo v3

    每当听到有人问 如何入门计算机视觉 这个问题时 其实我内心是拒绝的 为什么呢 因为我们说的计算机视觉的发展史可谓很长了 它的分支很多 而且理论那是错综复杂交相辉映 就好像数学一样 如何学习数学 这问题似乎有点笼统 有点宽泛 所以我都会具体问
  • JavaWeb(13)超市订单管理系统smbms——登录功能及优化

    一 项目搭建 1 搭建一个maven web项目 2 配置Tomcat 3 测试项目是否能够跑起来 4 导入jar包 jsp servlet mysql驱动 jstl stand 5 创建项目包结构 6 编写实体类 ORM映射 表 类映射
  • [Shell] 常用写法

    iF9PzeAQm9 H7oi r6YdLk6 lxJ d c 常识 ls ls lh time style Y m d H M S awk condition move1 move2 文件名1 文件名2 NR 行数 索引 NF 列数 一般
  • JVM--基础--19.4--垃圾收集器--Parallel Scavenge

    JVM 基础 19 4 垃圾收集器 Parallel Scavenge 1 结构图 2 Parallel Scavenge 并行 收集器 2 1 特征 新生代收集器 使用复制算法 并行的多线程收集器 控制的吞吐量 吞吐量 运行用户代码时间