【问题标题】:Cassandra Node Memory Usage ImbalanceCassandra 节点内存使用不平衡
【发布时间】:2013-01-29 22:34:40
【问题描述】:

我在 centos 上使用 Cassandra 1.2 和新的 MurMur3Partitioner。

在一个 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

谁能提供一些见解?

【问题讨论】:

    标签: operating-system cassandra


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-22
      • 2014-11-27
      • 2011-01-15
      • 2019-11-13
      • 2015-03-01
      • 2013-04-26
      • 2016-02-09
      • 2020-08-10
      相关资源
      最近更新 更多