Date: Mon, 11 Dec 1995 06:28:14 -0800 (PST) From: Peter Wemm <peter> To: CVS-committers, cvs-lib Subject: cvs commit: src/lib/libc/stdlib malloc.c Message-ID: <199512111428.GAA10528@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
peter 95/12/11 06:28:14 Modified: lib/libc/stdlib malloc.c Log: 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 Revision Changes Path 1.7 +47 -29 src/lib/libc/stdlib/malloc.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512111428.GAA10528>