On Mon, Apr 1, 2013 at 2:04 AM, David Korn <[email protected]> wrote: > Subject: Re: [ast-developers] Releasing memory obtained via |mmap()| to the > system... > -------- > >> The issue I got bug reports about is that if ksh93 allocates very >> large arrays as function-local variable then leaving the function >> doesn't release the memory... even if it's in the two-digit GB range. >> The issue is that this puts the system's VM subsystem under major >> stress... and IMO more stress than allocators which explicitly tell >> the underlying kernel that the memory is temporarily not needed. >> >> > > ksh93 should free all memory from arrays in function local variables. > There was a memory leak for this, but this was fixed for 13-03-17.
Erm... we're talking about different layers in this case. Yes, the current ksh93 alpha (ast-ksh.2013-03-18) releases it's allocated memory properly to the libast allocator system... but the libast allocator system doesn't release any memory back to the kernel. That's the problem I was talking about. The issue is that if many processes do not give the kernel any hints that they (temporarily) do not use memory then the memory management trees in the kernel can become very large which degrades overall performance. We're not talking about laptops in this case... we're talking about very big machines with 1TB+ main memory and 10000+ ksh93 processes (but this isn't an issue with ksh93... it's an issue with the libast allocator not passing "hints" to the kernel like other memory allocators do these days...). ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) [email protected] \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;) _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
