当前位置: 首页 > news >正文

大数据系列之:设置CMS垃圾收集器

大数据系列之:设置CMS垃圾收集器

-XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC 
-XX:CMSInitiatingOccupancyFraction=70 
-XX:+UseCMSInitiatingOccupancyOnly 
-XX:+CMSParallelRemarkEnabled

这些是 Java 虚拟机 (JVM) 的垃圾回收 (GC) 相关的参数,主要用于配置 CMS (Concurrent Mark-Sweep) 垃圾收集器。以下是每个参数的解释:

  • -XX:+UseParNewGC
    • 启用 ParNew 垃圾收集器,用于新生代 (Young Generation) 的垃圾回收。
      它是 Serial 收集器的多线程版本,适用于多核 CPU 环境。
  • -XX:+UseConcMarkSweepGC
    • 启用 CMS (Concurrent Mark-Sweep) 垃圾收集器,用于老年代 (Old Generation) 的垃圾回收。
    • CMS 是一种低停顿的垃圾收集器,适合对延迟敏感的应用。
  • -XX:CMSInitiatingOccupancyFraction=70
    • 设置 CMS 触发垃圾回收的老年代内存占用阈值(百分比)。
      这里设置为 70%,意味着当老年代内存占用达到 70% 时,CMS 会开始垃圾回收。
  • -XX:+UseCMSInitiatingOccupancyOnly
    • 强制 JVM 仅使用 CMSInitiatingOccupancyFraction 的值来决定何时启动 CMS 垃圾回收,而不是依赖 JVM 的自动调整机制。
    • 这样可以避免 JVM 动态调整触发阈值,使垃圾回收行为更可预测。
  • -XX:+CMSParallelRemarkEnabled
    • 启用 并行标记阶段,提高 CMS 的标记 (Remark) 阶段的效率。
    • 这个阶段会暂停应用线程,并行化可以缩短停顿时间。

总结

  • 这些参数组合通常用于 低延迟、高吞吐量的 Java 应用,特别是 Web 服务或实时系统,以减少 GC 停顿时间。
  • CMS 是一个 并发收集器,适合老年代垃圾回收,而 ParNew 用于新生代的多线程回收。
http://www.dtcms.com/a/333665.html

相关文章:

  • std::set_symmetric_difference
  • 第七十三章:AI的“黑箱”迷局:推理链路中的断点与Tensor调试——让模型“交代一切”!
  • CCS双轴相位偏移光源 让浅凹痕无处遁形
  • 【Redis】超详细基础入门学习
  • 硬件开发_基于STM32单片机的热水壶系统
  • GitHub的使用教程
  • Upload 上传 vue2前端 + 后端
  • 【DDIA】第二部分:分布式数据
  • 【大模型微调系列-02】 深度学习与大模型初识
  • Java Lambda表达式是什么,怎么用
  • C语言笔记6:C高级 part1
  • Go从入门到精通系列学习路线规划
  • 区块链技术原理(13)-以太坊燃料费Gas
  • ITM(仪器跟踪宏单元)是什么?
  • Elasticsearch赋能规章制度智能检索:从海量文档到秒级响应
  • PyInstaller打包Python应用操作备忘
  • 学习嵌入式之硬件——I2C
  • Redis7学习--管道
  • P4069 [SDOI2016] 游戏 Solution
  • “社保新规”9月施行,内容、影响与时代意义
  • Ansible 学习笔记:变量事实管理、任务控制与文件部署
  • 分布式锁的具体实现和原理分析
  • 无线收发模块高效协同:EMS系统监控、交互、执行端同步通讯
  • SpringCloud学习
  • 现金流分析与预测提示词设计指南:从基础到复杂场景的实用框架
  • IO多路复用底层原理
  • Python中推导式和表达式
  • 基本电子元件:碳膜电阻器
  • 代码随想录二刷之“字符串”~GO
  • 集合车位租售、充电桩共享、二手市场、便民服务的家政服务平台,带源码