cassandra中是否有设置以减少内存使用量?我知道cassandra可以很好地管理内存,但出于测试目的,我不想只在我的Windows机器上运行cassandra服务时花费6Gb内存。
已更新
我已经厌倦了设置disk_access_mode: standart
而不是disk_access_mode: auto
。没有帮助。另外我注意到cassandra 2.0.9 cassandra.yaml
文件默认不包含disk_access_mode
。所以似乎(但我不确定)从cassandra中删除了disk_access_mode
。
答案 0 :(得分:21)
正如@catpaws所指出的那样,密钥位于Tuning Java resources和cassandra-env.sh的文档中(在我的mac上我发现它位于/usr/local/etc/cassandra/cassandra-env.sh)但是她没有回答这个问题。
所以这就是我所做的和发生的事情: 我查看了我的Activity Monitor,发现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并检查了Activity Monitor。它说内存使用java(cassandra)现在只有~2GB。
答案 1 :(得分:2)
Cassandra的conf / cassandra-env.sh文件控制环境设置。请参阅文件和文档中的评论:http://www.datastax.com/documentation/cassandra/2.1/cassandra/operations/ops_tune_jvm_c.html
答案 2 :(得分:0)
经过反复试验,我们发现z
提供了最佳结果。还有助于远离Linux OOM杀手级雷达