Yes, we did it.

So if the parameter in cassandra-env.sh is used only if we have a OOM, what
is for the definition of
*-XX:HeapDumpPath=/var/lib/cassandra/java_1475461286.hprof
*in /etc/init.d/cassandra for?


Saludos

Jean Carlo

"The best way to predict the future is to invent it" Alan Kay

On Tue, Oct 4, 2016 at 2:58 AM, Yabin Meng <yabinm...@gmail.com> wrote:

> Have you restarted Cassandra after making changes in cassandra-env.sh?
>
> Yabin
>
> On Mon, Oct 3, 2016 at 7:44 AM, Jean Carlo <jean.jeancar...@gmail.com>
> wrote:
>
>> 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
>>>
>>
>>
>

Reply via email to