首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在weblogic 12c上添加CMS GC调优

如何在weblogic 12c上添加CMS GC调优
EN

Stack Overflow用户
提问于 2017-01-31 19:22:11
回答 2查看 2K关注 0票数 0

我知道WebLogic12C附带了并行垃圾收集算法。但是如何将CMS (并发标记-扫描收集器,并发收集器)添加到我当前的weblogic 12c中。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-06 21:58:52

我从Oracle文档中找到了答案。我把它贴在这里是为了帮助其他人。

使用Sun的JDK优化垃圾收集时,优化垃圾收集性能的目标是减少执行完整垃圾回收周期所需的时间。您不应该尝试调优JVM以最小化完全垃圾回收的频率,因为这通常会导致最终强制垃圾收集周期,这个周期可能需要几个完整的秒才能完成。

在生产服务器的生存期内实现较短的垃圾收集时间的最简单和最可靠的方法是在默认收集器和并行年轻代收集器中使用固定的堆大小,将新代大小限制在不超过整个堆的三分之一。

对于大多数引擎层服务器,建议使用以下示例JVM设置:

代码语言:javascript
复制
 -server -Xmx1024m -XX:MaxPermSize=128m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=256 -XX:CMSInitiatingOccupancyFraction=60 -XX:+DisableExplicitGC 

对于副本服务器,请使用示例设置:

代码语言:javascript
复制
 -server -Xmx3072m -XX:MaxPermSize=128m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=256 -XX:CMSInitiatingOccupancyFraction=60 -XX:+DisableExplicitGC 

上述备选办法的效果如下:

  • -XX:+UseTLAB-使用线程-本地对象分配块。这通过减少共享堆锁上的争用来提高并发性。
  • -XX:+UseParNewGC-使用年轻一代复制收集器的并行版本,同时使用并发标记和扫描收集器。这通过并行使用所有可用的CPU来最小化暂停。这个 收集器与默认收集器和 并发标记和扫描(CMS)收集器。
  • -Xms,-Xmx-在堆大小上设置边界,以提高垃圾收集的可预测性。堆大小限制在 复制服务器,这样即使是完整的GCs也不会触发SIP 重传。-Xms设置起始大小以防止堆扩展导致的暂停。
  • -XX:MaxTenuringThreshold=0-使每个NewSize周期都可以使用完整的NewGC,并通过不评估永久值来缩短暂停时间。 对象。从技术上讲,此设置将所有活动对象提升到 老一辈,而不是模仿他们。
  • -XX:幸存者比率=128-指定一个较高的幸存者比率,该比率与零延长阈值一致,以确保为缺席的幸存者保留很少的空间。
票数 0
EN

Stack Overflow用户

发布于 2017-02-06 14:17:56

将这些添加到启动startWeblogicServer的JVM中,这将进入文件startWeblogicServer、startManagedWeblogicServer或setDomainENV

您将在server/bin目录中找到这些内容。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41965814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档