首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新的发电能力没有增加

新的发电能力没有增加
EN

Stack Overflow用户
提问于 2014-12-29 15:54:10
回答 1查看 124关注 0票数 0

我一直在查看jstat (-gc选项)的日志,发现我们的应用程序花费了大量时间进行新一代收集。

我们已将最大堆大小设置为16 no(无最小值)。

以下是根据jstat日志的初始容量:

S0C: 2112 S1C: 2112 EC: 17024 OC: 63872

在这一天剩下的时间里,S0C,S1C,EC都没有增长,尽管我们似乎有大量的新一代活动,并花费了大量的时间。然而,旧的容量增加了。

我通过设置-XX:NewSize=6G在UAT中运行了一个比较测试,应用程序的性能要好得多(新一代事件很少,总体上花在GC上的时间也少得多)

我的问题是:为什么新的发电量没有随着我们原来的设置而增加?一开始我会分配更多的内存吗?

我们正在使用JVM Hotspot 1.6。

下面是来自JVM默认值的“New”的grep:

代码语言:javascript
复制
uintx MaxNewSize                                = 18446744073709486080{product}
intx NewRatio                                  = 2               {product}
uintx NewSize                                   = 1310720         {product}
uintx NewSizeThreadIncrease                     = 5320            {pd product}
intx PartialPeelNewPhiDelta                    = 0               {C2 product}
bool UseNewLongLShift                          = false           {product}
bool UseParNewGC                               = false           {product}
EN

回答 1

Stack Overflow用户

发布于 2015-01-09 09:45:08

我对hotspot 1.6上的CMS人体工学不太确定,但如果你想让hotspot动态移动年轻一代的边界,可能你必须启用自适应大小策略并调整相关选项。

或者升级到较新的JVM并尝试使用G1GC,它绝对支持自适应大小调整。

这也可能是CMS没有使用新一代的全部可用大小,因为否则它无法达到它的一些目标,例如次要gc暂停时间目标。确保它使用的是新一代的多线程GC,而不是串行GC。

我建议启用详细的GC日志记录,并查看它对次要生成的作用。

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

https://stackoverflow.com/questions/27685310

复制
相关文章

相似问题

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