See my post, I limit the HVM heap 6G, but actually Cassandra will use more memory which is not calculated in JVM heap.
I use top to monitor total memory used by Cassandra. ============================= -Xms6G -Xmx6G -Xmn1600M 2012/6/12 Jeffrey Kesselman <jef...@gmail.com> > Btw. I suggest you spin up JConsole as it will give you much more detai > kon what your VM is actually doing. > > > > On Mon, Jun 11, 2012 at 9:14 PM, Jason Tang <ares.t...@gmail.com> wrote: > >> Hi >> >> We have some problem with Cassandra memory usage, we configure the JVM >> HEAP 6G, but after runing Cassandra for several hours (insert, update, >> delete). The total memory used by Cassandra go up to 15G, which cause the >> OS low memory. >> So I wonder if it is normal to have so many memory used by cassandra? >> >> And how to limit the native memory used by Cassandra? >> >> >> =========================== >> Cassandra 1.0.3, 64 bit jdk. >> >> Memory ocupied by Cassandra 15G >> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND >> 9567 casadm 20 0 28.3g 15g 9.1g S 269 65.1 385:57.65 java >> >> ============================= >> -Xms6G -Xmx6G -Xmn1600M >> >> # ps -ef | grep 9567 >> casadm 9567 1 55 Jun11 ? 05:59:44 /opt/jdk1.6.0_29/bin/java >> -ea -javaagent:/opt/dve/cassandra/bin/../lib/jamm-0.2.5.jar >> -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms6G -Xmx6G >> -Xmn1600M -XX:+HeapDumpOnOutOfMemoryError -Xss128k -XX:+UseParNewGC >> -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 >> -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 >> -XX:+UseCMSInitiatingOccupancyOnly -Djava.net.preferIPv4Stack=true >> -Dcom.sun.management.jmxremote.port=6080 >> -Dcom.sun.management.jmxremote.ssl=false >> -Dcom.sun.management.jmxremote.authenticate=false >> -Daccess.properties=/opt/dve/cassandra/conf/access.properties >> -Dpasswd.properties=/opt/dve/cassandra/conf/passwd.properties >> -Dpasswd.mode=MD5 -Dlog4j.configuration=log4j-server.properties >> -Dlog4j.defaultInitOverride=true -cp >> /opt/dve/cassandra/bin/../conf:/opt/dve/cassandra/bin/../build/classes/main:/opt/dve/cassandra/bin/../build/classes/thrift:/opt/dve/cassandra/bin/../lib/Cassandra-Extensions-1.0.0.jar:/opt/dve/cassandra/bin/../lib/antlr-3.2.jar:/opt/dve/cassandra/bin/../lib/apache-cassandra-1.0.3.jar:/opt/dve/cassandra/bin/../lib/apache-cassandra-clientutil-1.0.3.jar:/opt/dve/cassandra/bin/../lib/apache-cassandra-thrift-1.0.3.jar:/opt/dve/cassandra/bin/../lib/avro-1.4.0-fixes.jar:/opt/dve/cassandra/bin/../lib/avro-1.4.0-sources-fixes.jar:/opt/dve/cassandra/bin/../lib/commons-cli-1.1.jar:/opt/dve/cassandra/bin/../lib/commons-codec-1.2.jar:/opt/dve/cassandra/bin/../lib/commons-lang-2.4.jar:/opt/dve/cassandra/bin/../lib/compress-lzf-0.8.4.jar:/opt/dve/cassandra/bin/../lib/concurrentlinkedhashmap-lru-1.2.jar:/opt/dve/cassandra/bin/../lib/guava-r08.jar:/opt/dve/cassandra/bin/../lib/high-scale-lib-1.1.2.jar:/opt/dve/cassandra/bin/../lib/jackson-core-asl-1.4.0.jar:/opt/dve/cassandra/bin/../lib/jackson-mapper-asl-1.4.0.jar:/opt/dve/cassandra/bin/../lib/jamm-0.2.5.jar:/opt/dve/cassandra/bin/../lib/jline-0.9.94.jar:/opt/dve/cassandra/bin/../lib/json-simple-1.1.jar:/opt/dve/cassandra/bin/../lib/libthrift-0.6.jar:/opt/dve/cassandra/bin/../lib/log4j-1.2.16.jar:/opt/dve/cassandra/bin/../lib/servlet-api-2.5-20081211.jar:/opt/dve/cassandra/bin/../lib/slf4j-api-1.6.1.jar:/opt/dve/cassandra/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/dve/cassandra/bin/../lib/snakeyaml-1.6.jar:/opt/dve/cassandra/bin/../lib/snappy-java-1.0.4.1.jar >> org.apache.cassandra.thrift.CassandraDaemon >> >> ============================== >> # nodetool -h 127.0.0.1 -p 6080 info >> Token : 85070591730234615865843651857942052864 >> Gossip active : true >> Load : 20.59 GB >> Generation No : 1339423322 >> Uptime (seconds) : 39626 >> Heap Memory (MB) : 3418.42 / 5984.00 >> Data Center : datacenter1 >> Rack : rack1 >> Exceptions : 0 >> >> ============================= >> All row cache and key cache are disabled by default >> >> Key cache: disabled >> Row cache: disabled >> >> >> ============================== >> >> # pmap 9567 >> 9567: java >> START SIZE RSS PSS DIRTY SWAP PERM MAPPING >> 0000000040000000 36K 36K 36K 0K 0K r-xp >> /opt/jdk1.6.0_29/bin/java >> 0000000040108000 8K 8K 8K 8K 0K rwxp >> /opt/jdk1.6.0_29/bin/java >> 000000004010a000 18040K 17988K 17988K 17988K 0K rwxp [heap] >> 000000067ae00000 6326700K 6258664K 6258664K 6258664K 0K rwxp [anon] >> 00000007fd06b000 48724K 0K 0K 0K 0K rwxp [anon] >> 00007fbed1530000 1331104K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-219-Data.db >> 00007fbf22918000 2097152K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-219-Data.db >> 00007fbfa2918000 2097148K 1124464K 1124462K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-219-Data.db >> 00007fc022917000 2097156K 2096496K 2096492K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-219-Data.db >> 00007fc0a2918000 2097148K 2097148K 2097146K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-219-Data.db >> 00007fc1a2917000 733584K 6444K 6444K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-109-Data.db >> 00007fc1cf57b000 2097148K 20980K 20980K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-109-Data.db >> 00007fc24f57a000 2097152K 456480K 456478K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-109-Data.db >> 00007fc2cf57a000 2097156K 1168320K 1168318K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-109-Data.db >> 00007fc34f57b000 2097148K 1177520K 1177520K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-109-Data.db >> 00007fc405629000 618708K 338248K 338248K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-230-Data.db >> 00007fc42b25e000 620388K 289024K 289024K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-224-Data.db >> 00007fc451037000 619160K 342108K 342108K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-216-Data.db >> 00007fc62b7df000 132696K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxInQueueTime-hb-175-Data.db >> 00007fc6de8e0000 132696K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxRecvTime-hb-175-Data.db >> 00007fc6f2bcc000 52492K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxPartitionId-hb-211-Data.db >> 00007fc6f64dc000 43784K 40840K 40840K 0K 0K r-xs >> /var/cassandra/data/drc/fpr_index-hb-91-Data.db >> 00007fc707ca6000 68968K 37724K 37724K 0K 0K r-xs >> /var/cassandra/data/drc/queue-hb-219-Index.db >> 00007fc70c000000 2468K 2436K 2436K 2436K 0K rwxp [anon] >> 00007fc70c269000 63068K 0K 0K 0K 0K ---p [anon] >> 00007fc710b9e000 52888K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxInQueueTime-hb-216-Data.db >> 00007fc713f44000 52952K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxFireTimeRange-hb-140-Data.db >> 00007fc7172fa000 52952K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxFireTime-hb-140-Data.db >> 00007fc71bd13000 162992K 162984K 162984K 0K 0K r-xs >> /var/cassandra/data/drc/fpr_index-hb-80-Data.db >> 00007fc725c3f000 52952K 28712K 28712K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxInQueueTimeRange-hb-140-Data.db >> 00007fc728ff5000 52952K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxRecvTimeRange-hb-140-Data.db >> 00007fc72d026000 52480K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxRecvTimeRange-hb-211-Data.db >> 00007fc730366000 52564K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxStatus-hb-196-Data.db >> 00007fc7336bb000 22348K 0K 0K 0K 0K r-xs >> /var/cassandra/data/drc/queue.idxInQueueTime-hb-175-Index.db >> >> >> BRs >> //Ares Tang >> > > > > -- > It's always darkest just before you are eaten by a grue. >