如何减少卡桑德拉虚拟内存的使用量?

2022-09-02 09:49:06

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

更新

我有疲惫的设置而不是.这无济于事。另外,我注意到在cassandra 2.0.9文件中默认不包含。因此,似乎(但我不确定)已从Cassandra中删除。disk_access_mode: standartdisk_access_mode: autocassandra.yamldisk_access_modedisk_access_mode


答案 1

正如@catpaws所指出的,关键在于Tuning Java资源和 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

conf/cassandra-env.sh Cassandra 的文件控制环境设置。查看文件和文档中的评论:http://www.datastax.com/documentation/cassandra/2.1/cassandra/operations/ops_tune_jvm_c.html


推荐