在1GB ram的centos linux系统中安装了cassandra 0.8。 在cassandra开始一小时后,它经常死亡。 另外,我可以说java也在杀死,这是运行cassandra的必要条件所以,我可以知道,如何findcassandra死亡的原因。
内存使用情况:
-bash-3.2# free -m total used free shared buffers cached Mem: 500 454 46 0 17 352 -/+ buffers/cache: 84 415 Swap: 1023 0 1023
dmesg应该告诉你,这个杀手是否被踢了进去 /var/log/cassandra/system.log会告诉你,如果你用完了Java堆(OutOfMemoryException) 如果是OutOfMemoryException,则设置:
JVM_OPTS="$JVM_OPTS -XX:+HeapDumpOnOutOfMemoryError" JVM_OPTS="$JVM_OPTS -XX:HeapDumpPath=/var/crash/cassandra_`date +%s`.hprof"
在cassandra-env.sh将生成一个堆转储,您可以后处理,看看出了什么问题。 你有没有改变cassandra-env中的其他设置?
进程被内核杀死,因为正在吃所有的内存(OOM杀手)。 如果您的Xmx和XmaxpermGenconfiguration不正确,那么使用java会非常频繁。 也不要为java分配所有的内存,让一些空闲的内存用于操作系统。
看看你真正的控制台(从该服务器监视),看看你是否看不到任何错误信息。
问候