summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1995-12-11 14:28:12 +0000
committerpeter <peter@FreeBSD.org>1995-12-11 14:28:12 +0000
commitbb88f51c8e338fed541b8d06a7ebf3dea422cbe6 (patch)
treea1b1975ac1c2ec298a74a991d1100a647283fed1 /share
parent51e26faaf9f91913bbe9077c1cd693ab368baec9 (diff)
downloadFreeBSD-src-bb88f51c8e338fed541b8d06a7ebf3dea422cbe6.zip
FreeBSD-src-bb88f51c8e338fed541b8d06a7ebf3dea422cbe6.tar.gz
Change phkmalloc so that the page directory is now floating and allocated
via mmap() up around the shared library area. Previously the directory was allocated from space from it's own memory pool. Because of the way it was being extended on processes with large malloced data segments (ie: inn) once the page directory was extended for some reason, it was not possible to lower the heap size any more to return pages to the OS. (If my understanding is correct, page directory expansion occurs at 4MB, 12MB, 20MB, 28MB, etc.) I was seeing INN allocate a large amount of short term memory, pushing it over the 28MB mark, and once it's transient demands hit 28MB, it never freed it's pages and swap space again.) I've been running this in my libc for about a month... Also, seperate MALLOC_STATS from EXTRA_SANITY.. I found it useful to call malloc_dump() from within INN from a ctlinnd command to see where the hell all the memory was going.. :-) I've left MALLOC_STATS enabled, as it has no run-time or data storage cost. Reviewed by: phk
Diffstat (limited to 'share')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud