繁体   English   中英

如何设置Cassandra(> 2.0)JVM堆大小为8GB?

[英]How to set Cassandra (>2.0) JVM heap size of 8GB?

如何设置Cassandra(> 2.0)JVM堆大小为8GB? 当我输入free -m它给了我以下内容。 如何将Cassandra JVM堆大小设置为8GB?

             total       used       free     shared    buffers     cached
Mem:         16047      11336       4711          0         81       5814
-/+ buffers/cache:       5441      10606
Swap:            0          0          0

如文档的Tuning Java resources部分所述:

如果您决定更改Java堆大小,则应在conf / cassandra-env.sh中一起设置MAX_HEAP_SIZE和HEAP_NEWSIZE。

在cassandra-env.sh中,搜索以下行:

#MAX_HEAP_SIZE="4G"

代码中的那一行发生在MAX_HEAP_SIZE计算发生之后,因此它可以作为覆盖。 取消注释,并相应地进行设置。

MAX_HEAP_SIZE="8G"

小心超过8G。 有关调整JVM的指导,我推荐Amy Tobey的Cassandra 2.1调优指南 她提供了一些调整CMS的技巧,以及实施新G1GC的重要部分。

更新cassandra-env.sh

删除/注释掉整个calculate_heap_sizes()函数

  • 这是cassandra调用的函数,用于自动分配JVM大小。
  • 它需要1/4系统内存或8GB的较低。 这就是默认的最大JVM大小为8GB的原因

使用$MAX_HEAP_SIZE删除/注释掉其他行。

  • 该行以: “仅计算大小...”

  • 删除/保持HEAP_NEWSIZE注释掉

MAX_HEAP_SIZE设置为新值。 例如: 16G

  • 这应该是你需要做的唯一的地方

重新开始

  • 理想情况下,您只需要重新启动Cassandra服务。 但是,我只是在重新启动整台机器后才开始工作。

另见另一个例子: https//medium.com/@mlowicki/move-cassandra-2-1-to-g1-garbage-collector-b9fb27365509

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM