Cassandra节点内存使用不平衡

时间:2013-01-26 17:24:30

标签: operating-system cassandra

我正在将Cassandra 1.2与新的MurMur3Partitioner一起用于centos。

在2节点群集上设置了num_tokens=256

我看到在用CQL3插入几百万行后,一个节点使用的内存比另一个节点多得多。

当我运行free命令时 它显示第二个节点上的6GB使用率和种子节点上的1GB。

但是,在运行时

ps -e -o pid,vsz,comm= | sort -n -k 2

它显示了每个节点上使用大约6.8GB的java进程。

请注意,我有 MAX_HEAP_SIZE = “4GB” HEAP_NEWSIZE = “400M”

在每个节点上设置cassandra-env.sh

任何人都可以提供一些见解吗?

1 个答案:

答案 0 :(得分:1)

这很可能与报告Linux中准确内存利用率的一般困难有关,特别是与Java进程有关。由于Java进程自动保留和分配内存,因此操作系统看到的内容可能会产生误导。了解Java进程正在做什么的最好方法是使用JMX来监视堆利用率。像VisualVM和jconsole这样的工具可以很好地工作。