in reply to Re^2: Perl and memory usage. Can it be released?
in thread Perl and memory usage. Can it be released?
GNU libc allocator is derived from Doug Lea malloc, a proven general-purpose allocator. Go on, unpack and read the source and the comments (I'm looking at glibc-2.17/malloc/malloc.c)
True, trims do not happen much because small data gets allocated from fastbins. But try to malloc a lot of somewhat larger blocks (couple hundred bytes each), and free them all. You shall see a shrink.
Update: from said malloc.c:
And please don't say "never". E.g. freeing a block 64k to 128k in size triggers fastbin consolidation. If your program has performed a work cycle, freeing all temps, then it is quite possible a trim takes place. It depends on usage.DEFAULT_TRIM_THRESHOLD 128 * 1024 DEFAULT_TOP_PAD 0 DEFAULT_MMAP_THRESHOLD 128 * 1024 DEFAULT_MMAP_MAX 65536
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Perl and memory usage. Can it be released?
by bulk88 (Priest) on Feb 09, 2014 at 04:03 UTC |