I was going through a documentation on Memory management by process manager,where I came though a point that
“When the malloc library receives an allocation request that it can’t meet with its existing heap, the library requests additional physical memory from the process manager. These allocations are done in chunks called “arenas”. By default, the arena allocations are performed in 32 KB chunks. When memory is freed, the library merges adjacent free blocks within arenas and may, when appropriate, release an arena back to the system”
I need to understand that what exactly are the conditions or scenario which trigger the memory to be actually released to the system.Is it only on process termination? or I can force a memory release during runtime.
My second question is that if I am using the option “procnto -ml” to start the process manager,will it create a scenario that my process will continue to allocate memory as it requires (increase in size of heap allocated )but will actually return it to the system once it is terminated.