2013-05-30 50 views
2

我正在尝试运行Cassandra。但是,我得到这个错误:启动Cassandra时出错无法启动

[[email protected] bin]# ./cassandra -f 
xss = -ea -javaagent:/home/sudeep/apache-cassandra-1.2.5-src/lib/jamm-0.2.5.jar- 
XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms930M -Xmx930M -Xmn200M - 
XX:+HeapDumpOnOutOfMemoryError -Xss160k 

Error occurred during initialization of VM Could not reserve enough space for object heap 

我都试过,没有特效设置JAVA_OPTS到最大尺寸。

+0

[Java拒绝启动 - 无法为对象堆预留足够的空间](http://stackoverflow.com/questions/1058471/java-refuses-to-start-could-not-reserve-enough-空间换对象的堆) – Raedwald

回答

2

看到我的答案在这里,https://stackoverflow.com/a/14447535/92463其中描述了增加堆栈段的大小。在第185行左右编辑conf/cassandra-env.sh配置脚本,并将-Xss180k更改为更高的值。

if [ "`uname`" = "Linux" ] ; then 
    # reduce the per-thread stack size to minimize the impact of Thrift 
    # thread-per-client. (Best practice is for client connections to 
    # be pooled anyway.) Only do so on Linux where it is known to be 
    # supported. 
    # u34 and greater need 180k 
    JVM_OPTS="$JVM_OPTS -Xss180k" 
fi 
echo "xss = $JVM_OPTS" 

我建议测试值从-Xss200k启动和20K增量增加。我发现在Ubuntu服务器上使用-Xss280k成功。

0

cassandra没有足够的空间。你必须改变内部cassandra-env.sh文件

打开cassandra-env.sh文件

sudo vi cassandra-env.sh 

在该文件中的值,你会看到JVM_OPTS="$JVM_OPTS -Xss180k"

增加250之间的块大小300

0

在cassandra-env.sh中设置256K的堆栈大小。