Operating system Cassandra节点内存使用不平衡

Operating system Cassandra节点内存使用不平衡,operating-system,cassandra,Operating System,Cassandra,我正在centos上使用Cassandra 1.2和新的Murruit3Partitioner 在2节点集群上,这两个令牌都设置为num\u=256 在使用CQL3插入了几百万行之后,我发现一个节点比另一个节点使用了更多的内存 当我运行free命令时 它在第二个节点上显示6GB的使用量,在种子节点上显示1GB的使用量 但是,在运行时 ps-e-o pid,vsz,comm=| sort-n-k2 它显示了在每个节点上使用大约6.8GB的java进程 注意,我有 最大堆大小=“4GB” HEAP_

我正在centos上使用Cassandra 1.2和新的Murruit3Partitioner

在2节点集群上,这两个令牌都设置为
num\u=256

在使用CQL3插入了几百万行之后,我发现一个节点比另一个节点使用了更多的内存

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

但是,在运行时

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

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

注意,我有 最大堆大小=“4GB” HEAP_NEWSIZE=“400M”

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


有人能提供一些见解吗?

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