cassandra 中是否有减少内存使用的设置?我知道 cassandra 可以很好地管理内存,但出于测试目的,我不想仅当 cassandra 服务在我的 Windows 机器上运行时才花费 6Gb 内存。
已更新
我厌倦了设置 disk_access_mode: standart
而不是 disk_access_mode: auto
。这没有帮助。我还注意到,在 cassandra 2.0.9 中,cassandra.yaml
文件默认不包含 disk_access_mode
。所以似乎(但我不确定)disk_access_mode
已从 cassandra 中删除。
最佳答案
正如@catpaws 指出的那样,关键在 Tuning Java resources 的文档中。和 cassandra-env.sh(在我的 mac 上,我在/usr/local/etc/cassandra/cassandra-env.sh 中找到了它)但她没有回答这个问题。
所以这是我所做的和发生的事情: 我查看了我的 Activity 监视器并注意到 java (cassandra) 内存使用量约为 4GB。然后我阅读了文档,发现 ~4GB 与使用公式分配的堆大致相同
max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB)
然后我编辑了 cassandra-env.sh,其中写着“Override these to set the amount...”并设置
MAX_HEAP_SIZE="2GB"
形成原来的4GB。我也设置了
HEAP_NEWSIZE="400M"
但这并不是减少内存使用所必需的。
我重新启动了 cassandra 并检查了 Activity 监视器。它说内存使用 java (cassandra) 现在只有 ~2GB。
关于java - 如何减少 Cassandra 虚拟内存的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908159/