incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maciej Miklas <mac.mik...@gmail.com>
Subject Re: Cassandra 1.1.5 - SerializingCacheProvider - possible memory leak?
Date Mon, 03 Dec 2012 13:10:59 GMT
Size and Capacity are in bytes. The RAM is consumed right after Cassandra
start (3GB heap) - the reason for this could be 400.000.000 rows on single
node, serialized bloom filters take 1,2 GB HDD space.


On Mon, Dec 3, 2012 at 10:14 AM, Maciej Miklas <mac.miklas@gmail.com> wrote:

> Hi,
>
> I have following Cassandra setup on server with 24GB RAM:
>
> *cassandra-env.sh*
> MAX_HEAP_SIZE="6G"
> HEAP_NEWSIZE="500M"
>
> *cassandra.yaml*
> key_cache_save_period: 0
> row_cache_save_period: 0
> key_cache_size_in_mb: 512
> row_cache_size_in_mb: 10240
> row_cache_provider: SerializingCacheProvider
>
>
> I'am getting OutOfMemory errors, and VisulalVM shows that Old Gen takes
> nearly whole heap.
>
> Those are the Cassandra log messages:
>
> INFO CLibrary JNA mlockall successful
> INFO DatabaseDescriptor DiskAccessMode 'auto' determined to be mmap,
> indexAccessMode is mmap
> INFO DatabaseDescriptor Global memtable threshold is enabled at 1981 MB
> INFO CacheService Initializing key cache with capacity of 512 MBs.
> INFO CacheService Scheduling key cache save to each 0 seconds (going to
> save all keys).
> INFO CacheService Initializing row cache with capacity of 10240 MBs and
> provider org.apache.cassandra.cache.SerializingCacheProvider
> INFO CacheService Scheduling row cache save to each 0 seconds (going to
> save all keys).
> .....
> INFO GCInspector GC for ConcurrentMarkSweep: 1106 ms for 1 collections,
> 5445489440 used; max is 6232735744
> ....
> INFO StatusLogger Cache Type                     Size
> Capacity               KeysToSave
>               Provider
> INFO StatusLogger KeyCache                     831 782
> 831 782                     all
>
> INFO StatusLogger RowCache                  196404489
>  196404688                  all
>  org.apache.cassandra.cache.SerializingCacheProvider
> .....
> INFO StatusLogger ColumnFamily       Memtable ops, data
> INFO StatusLogger MyCF1                 192828,66056113
> INFO StatusLogger MyCF2                 59913,19535021
> INFO StatusLogger MyCF3                 124953,59082091
> ....
> WARN [ScheduledTasks:1] GCInspector.java Heap is 0.8623632454134093 full.
>  You may need to reduce memtable and/or cache sizes.  Cassandra will now
> flush up to the two largest memtables to free up memory.  Adjust
> flush_largest_memtables_at threshold in cassandra.yaml if you don't want
> Cassandra to do this automatically
>
>
>
> 1) I've set row cache size to 10GB. Single row needs in serialized form
> between 300-500 bytes, this would allow maximum 20 millions row key
> entries.
>     SerializingCacheProvider reports size of 196 millions, how can I
> interpret this number?
>
> 2) I am using default settings besides changes described above. Since key
> cache is small, and off heap cache is active, what is taking space in Old
> Gen?
>
>
> Thanks,
> Maciej
>
>
>
>
>
>

Mime
View raw message