(转) 如何优化生产环境的Full GC?

1. 如何优化每次Full GC的性能?

就是把每次Full GC时间进一步降低。

  • -XX:+CMSParallelInitialMarkEnabled,会在CMS的“初始标记”阶段开启多线程并发执行 初始标记阶段,会STW,该阶段开启多线程并发后,可尽可能优化该阶段性能,减少STW时间。
  • -XX:+CMSScavengeBeforeRemark 在CMS重新标记阶段前,先尽量执行一次YGC

这样做有什么作用呢?

CMS重新标记也会STW,所以重新标记前,先执行一次YGC,就会回收掉一些年轻代里无人引用的对象。

所以若提前回收掉一些对象,在CMS重新标记阶段就能少扫描一些对象,这就提升CMS重新标记阶段的性能。

复制代码
-Xms4096M -Xmx4096M -Xmn3072M -Xss1M 
-XX:PermSize=256M
-XX:MaxPermSize=256M
-XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFaction=92 
-XX:+UseCMSCompactAtFullCollection 
-XX:CMSFullGCsBeforeCompaction=0 
-XX:+CMSParallelInitialMarkEnabled 
-XX:+CMSScavengeBeforeRemark
复制代码

如何优化生产环境的Full GC? - 云+社区 - 腾讯云 (tencent.com)

posted @   littlevigra  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2021-03-06 tengine - django 配置
2018-03-06 python json 解析 + python编程题目
点击右上角即可分享
微信分享提示