1

我最近一直在对 Hypertable 进行测试,因为它被它处理大量时间序列数据的先验能力所吸引。我的版本是 0.9.7.5,我插入了大约一百万“行”,每行有大约 1000 列标记为 date_time:“date”,并带有相应的值,例如“100.0”(这还不是很大)。

然而,在每次超表启动时,尽管在 hypertable.cfg 文件中进行了任何(据我所知)内存调整,即使考虑堆碎片,超表进程也会使用我所有的 RAM 并开始交换。

有没有人知道为什么会发生这种情况以及如何阻止这种非常烦人的行为?

hypertable 软件因其用户友好性而令我非常满意,同时非常强大和快速,但如果这个问题找不到解决方案,我可能会想切换到内存更可控的 cassandra,因为我不能永远向它扔 RAM。

非常感谢,

尼古拉斯

4

1 回答 1

0

您可以使用配置选项 Hypertable.RangeServer.MemoryLimit.Percentage 控制 RangeServer 的内存消耗。默认值为 60%。如果所有服务器都在同一台机器上运行,那么将其减少到 40 台可能会解决问题。

于 2013-05-07T19:12:10.047 回答