首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra --针对G1GC的JVM调优

Cassandra --针对G1GC的JVM调优
EN

Stack Overflow用户
提问于 2017-07-25 04:35:48
回答 1查看 1.5K关注 0票数 3

由于GC.MY年轻一代GC需要很长时间,所以我正在丢失突变

G1年轻一代GC在1804毫秒。G1伊甸园空间: 771751936 -> 0;G1老一代: 5351931920 -> 4995416072;G1幸存者空间: 83886080 -> 58720256;

在最近5000毫秒内丢弃了突变消息:内部超时为814,跨节点超时为0。平均内部丢弃延迟: 2874 ms,平均跨节点丢弃延迟:0 ms

为了避免这种情况,我应该减少Cassandra-env.sh中的MaxGCPauseMillis选项。

我们的默认值是500ms。(JVM_OPTS=“$JVM_OPTS -XX:MaxGCPauseMillis=500)

调整此设置将减少丢弃的突变消息。我需要增加还是减少该值。

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 04:53:17

如果突变需要超过5s才能处理,1.8s GC可能不是唯一的问题。tpstats中是否有大量待处理的数据?cpu负载看起来怎么样?您可能正在以Cassandra无法使用您的硬件和数据模型支持的速度编写代码。

您可能希望先尝试增加堆大小。使用G1时,16 G1以下的空间是很难调整的。如果包含花费1.8秒的gc日志,那么帮助就更容易了,如果没有日志,就很难知道到底发生了什么。您可以尝试减少gc时间目标,但如果这个较长的GC是一个异常值,则可能没有帮助。如果更新记忆集花费的时间太长,您可能想要增加区域大小。检查大型对象,以及可能存在数据建模问题的对象(增加区域大小将有所帮助)。如果从分配峰值获得疏散失败,请增加堆大小或将GCReservePercent设置为25而不是10,以便为其提供更多空间来处理峰值。

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

https://stackoverflow.com/questions/45289603

复制
相关文章

相似问题

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