cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Serediuk, Adam" <Adam.Sered...@serialssolutions.com>
Subject Re: Memory Usage During Read
Date Sat, 07 May 2011 22:54:44 GMT
How much memory should a single hot cf with a 128mb memtable take with row and key caching
disabled during read?

Because I'm seeing heap go from 3.5gb skyrocketing straight to max (regardless of the size,
8gb and 24gb both do the same) at which time the jvm will do nothing but full gc and is unable
to reclaim any meaningful amount of memory. Cassandra then becomes unusable. 

I see the same behavior with smaller memtables, eg 64mb. 

This happens well into the read operation an only on a small number of nodes in the cluster(1-4
out of a total of 60 nodes.)

Sent from my iPhone

On May 6, 2011, at 22:45, "Jonathan Ellis" <jbellis@gmail.com> wrote:

> You don't GC storm without legitimately having a too-full heap.  It's
> normal to see occasional full GCs from fragmentation, but that will
> actually compact the heap and everything goes back to normal IF you
> had space actually freed up.
> 
> You say you've played w/ memtable size but that would still be my bet.
> Most people severely underestimate how much space this takes (10x in
> memory over serialized size), which will bite you when you have lots
> of CFs defined.
> 
> Otherwise, force a heap dump after a full GC and take a look to see
> what's referencing all the memory.
> 
> On Fri, May 6, 2011 at 12:25 PM, Serediuk, Adam
> <Adam.Serediuk@serialssolutions.com> wrote:
>> We're troubleshooting a memory usage problem during batch reads. We've spent the
last few days profiling and trying different GC settings. The symptoms are that after a certain
amount of time during reads one or more nodes in the cluster will exhibit extreme memory pressure
followed by a gc storm. We've tried every possible JVM setting and different GC methods and
the issue persists. This is pointing towards something instantiating a lot of objects and
keeping references so that they can't be cleaned up.
>> 
>> Typically nothing is ever logged other than the GC failures however just now one
of the nodes emitted logs we've never seen before:
>> 
>>  INFO [ScheduledTasks:1] 2011-05-06 15:04:55,085 StorageService.java (line 2218)
Unable to reduce heap usage since there are no dirty column families
>> 
>> We have tried increasing the heap on these nodes to large values, eg 24GB and still
run into the same issue. We're running 8GB of heap normally and only one or two nodes will
ever exhibit this issue, randomly. We don't use key/row caching and our memtable sizing is
64mb/0.3. Larger or smaller memtables make no difference in avoiding the issue. We're on 0.7.5,
mmap, jna and jdk 1.6.0_24
>> 
>> We've somewhat hit the wall in troubleshooting and any advice is greatly appreciated.
>> 
>> --
>> Adam
>> 
> 
> 
> 
> -- 
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
> 


Mime
View raw message