Fragmentation with jemalloc

vandana shah shah.vandana at gmail.com
Sun Apr 21 22:01:49 PDT 2013


Hi,

I have been trying to use jemalloc for my application and observed that the
rss of the process keeps on increasing.

I ran the application with valgrind to confirm that there are no memory
leaks.

To investigate more, I collected jemalloc stats after running the test for
few days and here is the summary for a run with narenas:1, tcache:false,
lg_chunk:24

 Arenas: 1
 Pointer size: 8
 Quantum size: 16
 Page size: 4096
 Min active:dirty page ratio per arena: 8:1
 Maximum thread-cached size class: 32768
 Chunk size: 16777216 (2^24)
 Allocated: 24364176040, active: 24578334720, mapped: 66739765248
 Current active ceiling: 24578621440
 chunks: nchunks   highchunks    curchunks
            3989         3978         3978
 huge: nmalloc      ndalloc    allocated
             3            2    117440512

 arenas[0]:
 assigned threads: 17
 dss allocation precedence: disabled
 dirty pages: 5971898:64886 active:dirty, 354265 sweeps, 18261119 madvises,
1180858954 purged

While in this state, the RSS of the process was at 54GB.

Questions:
1) The difference between RSS and jemalloc active is huge (more than 30GB).
In my test, the difference was quite less in the beginning (say 4 GB) and
it went on increasing with time. That seems too high to account for
jemalloc data structures, overhead etc. What else gets accounted in process
RSS - active?
2) The allocations are fairly random, sized between 8 bytes and 2MB. Are
there any known issues of fragmentation for particular allocation sizes?
3) Is there a way to tune the allocations and reduce the difference?

Will appreciate any help to understand this better,

Thanks,
Vandana
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jemalloc.net/mailman/jemalloc-discuss/attachments/20130422/774f20c4/attachment.html>


More information about the jemalloc-discuss mailing list