Mahesh Muni
Mahesh Muni

Reputation: 51

Error when starting Cassandra prevents launching

I am trying to run Cassandra. But, I am getting this error:

[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

I have tried setting JAVA_OPTS to max size with no effect.

Upvotes: 4

Views: 9501

Answers (4)

Paulo Costa
Paulo Costa

Reputation: 21

Probably it's because of the 32bits java version. I changed my JAVA_HOME variable to the 64bits version by following this steps:
1) Hited both "Windows + R" keys and entered: sysdm.cpl
2) On the "System Properties" I pressed the 'Environment variables' button
3) In the textarea "Environment variables" I picked JAVA_HOME and clicked 'Edit'
4.a) In the "Variable Value" I took out the path
(it looks like this: C:\Program Files (x86)\Java\jdk1.8.0_192)
4.b) I Entered the 64bits path instead
it looks like this now: C:\Program Files\Java\jdk1.8.0_73
And that was it. Then I justed watched the cassandra server scipts running through...

And the heap memory problem is gone!

Upvotes: 2

akshat thakar
akshat thakar

Reputation: 1527

Set stack size of 256K in cassandra-env.sh.

Upvotes: 0

ravi ranjan
ravi ranjan

Reputation: 6119

There is not enough space for cassandra. You have to change a value inside cassandra-env.sh file

open the cassandra-env.sh file

sudo vi cassandra-env.sh

In the document you will see JVM_OPTS="$JVM_OPTS -Xss180k"

Increase the chunk size between 250 to 300

Upvotes: 0

grkvlt
grkvlt

Reputation: 2627

See my answer here, https://stackoverflow.com/a/14447535/92463 which describes increasing the stack segment size. Edit the conf/cassandra-env.sh configuration script, at around line 185, and change the -Xss180k to a higher value.

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"

I suggest testing values starting from -Xss200k and increasing in 20k increments. I have found that using -Xss280k on Ubuntu servers worked successfully.

Upvotes: 2

Related Questions