0
votes

Does the below INFO message that appears on server logs indicate that the node has run out of memory ?

INFO 15:08:37 JVM Arguments: [-Dorg.xerial.snappy.tempdir=/app/apigee/data/apigee-cassandra/data/tmp, -Dorg.xerial.snappy.tempdir=/app/apigee/data/apigee-cassandra/data/tmp, -ea, -javaagent:/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../lib/jamm-0.3.0.jar, -XX:+CMSClassUnloadingEnabled, -XX:+UseThreadPriorities, -XX:ThreadPriorityPolicy=42, -Xms8192M, -Xmx8192M, -Xmn1200M, -XX:+HeapDumpOnOutOfMemoryError, -Xss256k, -XX:StringTableSize=1000003, -XX:+UseParNewGC, -XX:+UseConcMarkSweepGC, -XX:+CMSParallelRemarkEnabled, -XX:SurvivorRatio=8, -XX:MaxTenuringThreshold=1, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+UseTLAB, -XX:CompileCommandFile=/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../conf/hotspot_compiler, -XX:CMSWaitDuration=10000, -XX:+CMSParallelInitialMarkEnabled, -XX:+CMSEdenChunksRecordAlways, -XX:CMSWaitDuration=10000, -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=/app/apigee/data/apigee-cassandra/jmxremote.password, -javaagent:/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../lib/jolokia-jvm-1.3.5-agent.jar=host=0.0.0.0, -Dlogback.configurationFile=logback.xml, -Dcassandra.logdir=/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../logs, -Dcassandra.storagedir=/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../data, -Dcassandra-foreground=yes]

This entry is being used by the Ops team to suggest that the node has run out of memory.

My belief is this is just an info message by a service, stating that the JVM arguments provided to it instructs it to create a dump of the heap if the service ran out of memory and that the appearance of this message itself does not indicate that the node has run out of memory.

Does that INFO entry mean I am running out memory?

UPDATE I tried to do some research and I found this https://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/clopts.html

B.1.2 -XX:+HeapDumpOnOutOfMemoryError Option
The -XX:+HeapDumpOnOutOfMemoryError command-line option tells the HotSpot VM to generate a heap dump when an allocation from the Java heap or the permanent generation cannot be satisfied. There is no overhead in running with this option, and so it can be useful for production systems where OutOfMemoryError takes a long time to surface.

It's not from APIGEE / Cassandra documentation - so unsure if relevant. From what I can tell this appears to be relate more with Java Hotspot VMS as opposed to APIGEE / Cassandra

It indicates however that if the server / node runs out of memory that a HPROF file should be generated

1

1 Answers

0
votes

This specific option means that JVM will generate heap dump if it encounters out of memory situation - this is very useful for understanding why OOM happened - for example, you may have too many tombstones in the memory, etc.

But all JVM options are applied to Cassandra as just another JVM-based product, so Oracle's documentation is applicable.