我遇到网络级中断,我的12台服务器中有8台由于我们尝试使用16k的nproc硬限制不正确而中断。
发布我们将其增加到32k(希望32 GB RAM没问题)并重新启动所有服务器。由于内存不断连续,我在一个DC中的4台服务器似乎经常出现故障。当我检查日志时,
我清除了正在进行的压缩,开始关闭服务器几次阻止重启。这似乎在每次之间开始。这是一个问题吗?关于如何解决这个问题的任何想法?
使用的Cassandra版本:2.0.3
答案 0 :(得分:2)
由于离线诊断gc问题很困难(如果不是不可能),我建议你阅读这篇文章。它提供了有关gc和JVM设置的详细信息。尝试按照他们的建议并调整您的设置。 http://tech.shift.com/post/74311817513/cassandra-tuning-the-jvm-for-read-heavy-workloads
默认的JVM堆设置是根据核心数等计算出来的。所以它很容易就可以了,甚至可能是有害的"如下所述:https://issues.apache.org/jira/browse/CASSANDRA-8150
因此,我们的想法是将新一代内存调整到足以阻止短期对象被提升为幸存者空间,甚至是老一代内存。
这是关于cassandra的JVM调优的另一篇好文章:http://blog.mikiobraun.de/2010/08/cassandra-gc-tuning.html
这一篇专门讨论了压缩和GC问题:http://aryanet.com/blog/cassandra-garbage-collector-tuning