【问题标题】:couchbase nodes RAM is getting full frequentlycouchbase 节点 RAM 经常变满
【发布时间】:2015-09-30 04:31:04
【问题描述】:

我们有一个 4 节点集群,具有 24 GB 的 RAM,其中 18 GB 已用于零复制的沙发底座。 我们在这个集群中有大约 1000 万条记录,大约 250 万/小时,并且旧项目过期。 我的 RAM 使用量约为 72GB,每 12 天就会满,我需要重新启动集群来解决这个问题。再次重启后,RAM 使用量恢复到 ~20GB。

有人可以帮忙了解一下原因吗。

仅供参考:自动压缩设置为 40% 片段级别,元数据清除间隔设置为 1 天,我们将其缩短为 2 小时。但这没有帮助。

【问题讨论】:

  • Couchbase 将尽可能多的数据缓存在内存中,因此预计会填满几乎所有的 RAM。你得到的实际错误是什么?
  • Couchbase 版本是 3.0.1..
  • @julian -- 是的..,这是真的.. Couchbase 在内存中缓存尽可能多的数据。但数据大小约为 22 GB,而 RAM 大小为 70 GB。所以沙发底座使用的内存不应超过(22GB+MetaData Size for 22GB)……但问题是它占用了全部 70GB。在它开始驱逐之前,我们没有收到任何错误。主要问题是,当它填满时,它开始从内存中逐出项目,并且我们的 Resident Ratio 在大约 15 分钟内变为零。而在沙发基地开始驱逐物品的 15 分钟前,它是 100%。

标签: couchbase


【解决方案1】:

在内存分配非常高的情况下,Couchbase 可能会出现内存碎片,这会导致您所描述的效果。这个问题在 4.x 版本中通过在非 Windows 操作系统上切换到 jemalloc 并在 Windows 上使用 tcmalloc 和主动解除提交来解决。我建议您下载 Couchbase 4 (http://www.couchbase.com/nosql-databases/downloads#Couchbase_Server) 的 RC 版本并尝试看看是否能解决问题。

【讨论】:

  • 不明白“高内存分配”是什么意思。这是否意味着 CB 文件的新/更新非常频繁,或者由于 ttl.我们还有 2 个 couchbase 集群,使用相同的 3.0.1 版本,并且运行良好。
  • 高内存流失,这意味着当 Couchbase 频繁分配和释放大量内存时,例如在您的 ttl 和高新写入率的场景中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 2022-01-05
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多