如何设置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
答案 0 :(得分:4)
如文档的Tuning Java resources部分所述:
如果您决定更改Java堆大小,则应在conf / cassandra-env.sh中将MAX_HEAP_SIZE和HEAP_NEWSIZE设置为一起。
在cassandra-env.sh中搜索此行:
_changes
代码中的那一行发生在MAX_HEAP_SIZE计算发生之后,因此它可以作为覆盖。取消注释,并相应地进行设置。
#MAX_HEAP_SIZE="4G"
小心超过8G。有关调整JVM的指导,我建议Amy Tobey's Cassandra 2.1 Tuning Guide。她提供了一些调整CMS的技巧,以及实施新G1GC的一个很好的部分。
答案 1 :(得分:1)
更新cassandra-env.sh
删除/注释掉整个calculate_heap_sizes()
函数
使用$MAX_HEAP_SIZE
删除/注释掉其他行。
该行以:"仅计算大小..."
删除/保持HEAP_NEWSIZE注释掉
将MAX_HEAP_SIZE
设置为新值。例如:16G
<强>重新启动强>
另见另一个例子:https://medium.com/@mlowicki/move-cassandra-2-1-to-g1-garbage-collector-b9fb27365509