【问题标题】:How reduce cassandra virtual memory usage?如何减少 cassandra 虚拟内存使用量?
【发布时间】:2015-01-10 13:20:19
【问题描述】:

cassandra 中是否有减少内存使用的设置?我知道 cassandra 可以很好地管理内存,但出于测试目的,我不想仅在我的 windows 机器上运行 cassandra 服务时才使用 6Gb 内存。

更新

我已经厌倦了设置disk_access_mode: standart 而不是disk_access_mode: auto。这没有帮助。我还注意到,在 cassandra 2.0.9 cassandra.yaml 文件中默认不包含 disk_access_mode。因此,似乎(但我不确定)disk_access_mode 已从 cassandra 中删除。

【问题讨论】:

    标签: java windows-7 cassandra jvm virtual-memory


    【解决方案1】:

    正如@catpaws 指出的那样,关键在于Tuning Java resources 和 cassandra-env.sh 的文档(在我的 Mac 上,我在 /usr/local/etc/cassandra/cassandra-env.sh 中找到了它)但她摔倒了没有回答问题。

    这就是我所做的和发生的事情: 我查看了我的活动监视器并注意到 java (cassandra) 内存使用量约为 4GB。然后我阅读了文档,发现 ~4GB 与使用公式分配的堆大致相同

    max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB)
    

    然后我编辑了 cassandra-env.sh,其中显示“覆盖这些以设置数量...”并设置

    MAX_HEAP_SIZE="2GB"
    

    形成原来的 4GB。我也设置了

    HEAP_NEWSIZE="400M"

    但这并不是减少内存使用所必需的。

    我重新启动了 cassandra 并检查了活动监视器。它说内存使用 java (cassandra) 现在只有 ~2GB。

    【讨论】:

    • 感谢您在这里指导我。
    【解决方案2】:

    Cassandra 的 conf/cassandra-env.sh 文件控制环境设置。请参阅文件和文档中的 cmets:http://www.datastax.com/documentation/cassandra/2.1/cassandra/operations/ops_tune_jvm_c.html

    【讨论】:

    • 可能我错过了一些想法,但没有关于 虚拟 内存调整的消息,只有 jvm 堆和一般 RAM 建议。
    • 没有。这没有帮助。 :(
    • 死链接,404。
    【解决方案3】:

    经过反复试验,我们发现disk_access_mode: mmap_index_only 提供了最好的结果。还有助于远离 Linux OOM 杀手雷达

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-12
      • 2021-12-12
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多