OK I got the response to one of my questions. In the script /etc/init.d/cassandra we set the path for the heap dump by default in the cassandra_home.
Now the thing I don't understand is, why do the dumps are located by the file set by /etc/init.d/cassandra and not by the conf file cassandra-env.sh? Anyone any idea? Saludos Jean Carlo "The best way to predict the future is to invent it" Alan Kay On Mon, Oct 3, 2016 at 12:00 PM, Jean Carlo <jean.jeancar...@gmail.com> wrote: > > Hi > > I see in the log of my node cassandra that the parameter -XX:HeapDumpPath > is charged two times. > > INFO [main] 2016-10-03 04:21:29,941 CassandraDaemon.java:205 - JVM > Arguments: [-ea, -javaagent:/usr/share/cassandra/lib/jamm-0.3.0.jar, > -XX:+CMSClassUnloadingEnabled, -XX:+UseThreadPriorities, > -XX:ThreadPriorityPolicy=42, -Xms6G, -Xmx6G, -Xmn600M, > *-XX:+HeapDumpOnOutOfMemoryError, > -XX:HeapDumpPath=/cassandra/dumps/cassandra-1475461287-pid34435.hprof*, > -Xss256k, -XX:StringTableSize=1000003, -XX:+UseParNewGC, > -XX:+UseConcMarkSweepGC, -XX:+CMSParallelRemarkEnabled, > -XX:SurvivorRatio=8, -XX:MaxTenuringThreshold=1, -XX: > CMSInitiatingOccupancyFraction=30, -XX:+UseCMSInitiatingOccupancyOnly, > -XX:+UseTLAB, -XX:CompileCommandFile=/etc/cassandra/hotspot_compiler, > -XX:CMSWaitDuration=10000, -XX:+CMSParallelInitialMarkEnabled, > -XX:+CMSEdenChunksRecordAlways, > -XX:CMSWaitDuration=10000, -XX:+UseCondCardMark, -XX:+PrintGCDetails, > -XX:+PrintGCDateStamps, -XX:+PrintGCApplicationStoppedTime, > -Xloggc:/var/opt/hosting/log/cassandra/gc.log, -XX:+UseGCLogFileRotation, > -XX:NumberOfGCLogFiles=20, -XX:GCLogFileSize=20M, > -Djava.net.preferIPv4Stack=true, -Dcom.sun.management.jmxremote.port=7199, > -Dcom.sun.management.jmxremote.rmi.port=7199, > -Dcom.sun.management.jmxremote.ssl=false, > -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management. > jmxremote.password.file=/etc/cassandra/jmxremote.password, > -Djava.io.tmpdir=/var/opt/hosting/db/cassandra/tmp, -javaagent:/usr/share/ > cassandra/lib/jolokia-jvm-1.0.6-agent.jar=port=8778,host=0.0.0.0, > -Dcassandra.auth_bcrypt_gensalt_log2_rounds=4, > -Dlogback.configurationFile=logback.xml, > -Dcassandra.logdir=/var/log/cassandra, > -Dcassandra.storagedir=, -Dcassandra-pidfile=/var/run/cassandra/cassandra.pid, > *-XX:HeapDumpPath=/var/lib/cassandra/java_1475461286.hprof*, > -XX:ErrorFile=/var/lib/cassandra/hs_err_1475461286.log] > > This option is defined in cassandra-env.sh > > if [ "x$CASSANDRA_HEAPDUMP_DIR" != "x" ]; then > JVM_OPTS="$JVM_OPTS > -XX:HeapDumpPath=$CASSANDRA_HEAPDUMP_DIR/cassandra-`date > +%s`-pid$$.hprof" > fi > and we defined before the value of CASSANDRA_HEAPDUMP_DIR before to > > > */cassandra/dumps/* > It is seems that cassandra does not care about the conf in > cassandra-env.sh and he only takes in account the last set for HeapDumpPath > > */var/lib/cassandra/java_1475461286.hprof* > This causes problems when we have to dump the heap because cassandra uses > the disk not suitable to do it. > > Is *XX:HeapDumpPath *set in another place/file that I dont know? > > Thxs > > Jean Carlo > > "The best way to predict the future is to invent it" Alan Kay >