Chris,

Somebody else and I have the same problem as you, and reported it here:
http://www.apacheserver.net/Very-high-memory-utilization-not-caused-by-mmap-on-sstables-at1082970.htm

[NB: It is not solved although the titles said so. Some response from me in
the thread is not accurate.]

IMHO, you should try to upgrade JVM as the first step. If it is solved,
please let us know.

If upgrade of JVM does not work, considering the leak happens on C stack of
JVM,  I suspect it is caused by kernel or glibc, although other java process
on the same box are OK.  But i haven't tries it  as I do not have control of
the kernel version in the VPS environment.

best regards,
hanzhu


On Fri, Jan 28, 2011 at 1:23 AM, Chris Burroughs
<chris.burrou...@gmail.com>wrote:

> We have a 6 node Cassandra 0.6.8 cluster running on boxes with 4 GB of
> RAM.  Over the course of several weeks cached memory slowly decreases
> until Cassandra is restarted or something bad happens (ie oom killer).
> Performance obviously suffers as cached memory is no longer available.
> Here is a graph of memory over a two week period, the big jump is a
> Cassandra restart:
>
> http://img194.imageshack.us/img194/383/2weekmem.png
>
> There is also tomcat and and your standard linux services running on the
> box as well.   I saved the output of /proc/$CASSANDRA_PID/status ever 10
> seconds from yesterday afternoon to this morning and graphed resident
> set size.  While the jvm and the linux virtual memory system do all
> sorts of clever things, over a period of 12+ hours I believe RSS must go
> in a direction other than up or there is a problem.
>
> http://img24.imageshack.us/img24/1754/cassandrarss.png
>
> swapiness is currently set to zero and a graph of swap use over a two
> week period does not show any corresponding growth to the lost cached
> space.
>
> We are using <DiskAccessMode>standard</DiskAccessMode> and no JNA
> interfaces.  I think this makes Cassandra a totally normal java program
> living in heap, so I am confused how this growth could be happening.
> Similar experiences or explanations would be most welcome.  I can
> provide further information if necessary.
>
>
> ##### Info dump
> uname: 2.6.18-194.8.1.el5 #1 SMP Wed Jun 23 10:52:51 EDT 2010 x86_64
> x86_64 x86_64 GNU/Linux
>
> java -version
> java version "1.6.0_20"
> Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
> Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
>
> cmd line arg (paths edited):
> /usr/java/jdk1.6.0_20/bin/java -Xms1500M -cXmx1500M -ea -XX:+UseParNewGC
> -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled
> -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1
> -XX:+HeapDumpOnOutOfMemoryError -XX:+UseThreadPriorities
> -XX:ThreadPriorityPolicy=42 -Dcassandra.compaction.priority=1
> -Dcom.sun.management.jmxremote.port=10101
> -Dcom.sun.management.jmxremote.ssl=false
> -Dcom.sun.management.jmxremote.authenticate=false
> -Dstorage-config=~/conf -Dcassandra-pidfile=~/cassandra.pid -cp
>
> ~/conf::~/lib/antlr-3.1.3.jar:~/lib/apache-cassandra-0.6.8.jar:~/lib/clhm-production.jar:~/lib/commons-cli-1.1.jar:~/lib/commons-codec-1.2.jar:~/lib/commons-collections-3.2.1.jar:~/lib/commons-lang-2.4.jar:~/lib/google-collections-1.0.jar:~/lib/hadoop-core-0.20.1.jar:~/lib/high-scale-lib.jar:~/lib/ivy-2.1.0.jar:~/lib/jackson-core-asl-1.4.0.jar:~/lib/jackson-mapper-asl-1.4.0.jar:~/lib/jline-0.9.94.jar:~/lib/json-simple-1.1.jar:~/lib/libthrift-r917130.jar:~/lib/log4j-1.2.14.jar:~/lib/slf4j-api-1.5.8.jar:~/lib/slf4j-log4j12-1.5.8.jar:~/lib/zapcass-1.0.0.jar:~/lib/zapcat-1.3-beta.jar
> com.clearspring.cassandra.ZapCassDaemon
>
> ZapCassDaemon is just getting cassandra and zabbix to talk.  I do not
> believe we are unique in doing this:
> public class ZapCassDaemon {
>    public EmbeddedCassandraService cassandra;
>    public ZabbixAgent agent;
>    public ZapCassDaemon() throws Exception {
>        agent = new ZabbixAgent();
>
>        cassandra = new EmbeddedCassandraService();
>        cassandra.init();
>        cassandra.run();
>    }
>    static public ZapCassDaemon instance;
>    static public void main(String[] args) throws Exception {
>        instance = new ZapCassDaemon();
>    }
> }
>

Reply via email to