Cassandra:所需的RAM空间

时间:2017-08-08 05:08:53

标签: cassandra

我有一个双节点Cassandra(3.10)群集。我已经迁移了一些数据。根据每个节点中的nodetool,数据大小为1.4 TB。 我试图检查Cassandra实例所需的RAM大小 -

ps -aux | grep cassandra

我得到了:

root      2510  124 80.2 1515965216 26435808 pts/0 SLl 10:36 138:10 java -Xloggc:/opt/cassandra/logs/gc.log ...... /*/*.jar org.apache.cassandra.service.CassandraDaemon

在这里我们可以看到Cassandra在RAM中占用了近 26.5 GB的空间,我发现这个大小不断增加。

我想知道这是Cassandra的正常行为吗?

2 个答案:

答案 0 :(得分:0)

此站点提供了不同包的规范,并提供了所有类型的硬件要求:

https://docs.datastax.com/en/dse-planning/doc/planning/planningHardware.html#planningHardware__memory

看看它,看看它是否在范围内。您甚至可以减少并限制其占用的RAM大小。

答案 1 :(得分:0)

所以这不是一个cassandra行为,更像是java的工作方式。在cassandra-env.sh文件中,您可以修改cassandra的起始和最大内存值。

-Xms<Value>指定cassandra以

开头的内存量

-Xmx<Value>指定堆大小可以增长多少。

cassandra的一个常见做法是初始化流程,-Xms-Xmx相同。这消除了服务器不得不扩展堆空间的开销,并允许它被控制,以便像你所拥有的那样出现问题。

另外,如果要超过12GB,请考虑使用G1GC代替CMS进行垃圾回收。