I think it is due to fragmentation in old gen, due to which survivor area
cannot be moved to old gen. 300MB data size of memtable looks high for 3G
heap. I learned that in memory overhead of memtable can be as high as 10x of
memtable data size in memory. So either increase the heap or reduce the
memtable thresholds further so that old gen gets freed up faster. With
16CFs, I would do both i.e. increase the heap to say 4GB and reduce memtable
thresholds further.

-Naren

On Wed, Mar 23, 2011 at 8:18 AM, ruslan usifov <ruslan.usi...@gmail.com>wrote:

> Hello
>
> Sometimes i seen in gc log follow message:
>
> 2011-03-23T14:40:56.049+0300: 14897.104: [GC 14897.104: [ParNew (promotion
> failed)
> Desired survivor size 41943040 bytes, new threshold 2 (max 2)
> - age   1:    5573024 bytes,    5573024 total
> - age   2:    5064608 bytes,   10637632 total
> : 672577K->670749K(737280K), 0.1837950 secs]14897.288: [CMS:
> 1602487K->779310K(2326528K), 4.7525580 secs] 2270940K->779310K(3063808K), [
> CMS Perm : 20073K->19913K(33420K)], 4.9365810 secs] [Times: user=5.06
> sys=0.00, real=4.93 secs]
> Total time for which application threads were stopped: 4.9378750 seconds
>
>
> How can i minimize they frequency, or disable?
>
> May current workload is a many small objects (about 200 bytes long), and
> summary of my memtables about 300 MB (16 CF). My heap is 3G,
>

Reply via email to