启动Cassandra时阻止启动时出错

时间:2013-05-30 08:51:23

标签: cassandra cassandra-cli

我正在尝试运行Cassandra。但是,我收到了这个错误:

[root@SudeepMangu 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设置为最大尺寸但没有效果。

4 个答案:

答案 0 :(得分:2)

请参阅我的答案https://stackoverflow.com/a/14447535/92463,其中描述了增加堆栈段大小。编辑conf/cassandra-env.sh配置脚本,位于第185行附近,并将-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能够成功运行。

答案 1 :(得分:0)

没有足够的空间供cassandra使用。您必须更改cassandra-env.sh文件

中的值

打开cassandra-env.sh文件

sudo vi cassandra-env.sh

在文档中,您将看到JVM_OPTS="$JVM_OPTS -Xss180k"

将块大小增加到250到300之间

答案 2 :(得分:0)

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

答案 3 :(得分:0)

可能是因为32位Java版本。我按照以下步骤将JAVA_HOME变量更改为64位版本:
1)同时按下“ Windows + R”键并输入:sysdm.cpl
2)在“系统属性”上,按下“环境变量”按钮
3)在文本区域“环境变量”中,我选择了JAVA_HOME并单击“编辑”
4.a)在“变量值”中,我选择了路径
     (如下所示:C:\ Program Files(x86)\ Java \ jdk1.8.0_192)
4.b)我改为输入64位路径
      现在看起来像这样: C:\ Program Files \ Java \ jdk1.8.0_73
就是这样。然后我只是看着cassandra服务器的密码在运行...

堆内存问题消失了!