Hi, In performance test, my application (multi-thread programme) expriences a memory consumption peak because there are at most e.g. 100 clients communicate with it. My question is, why after all clients exit, when application has noting to do, according to result of tool "pstack" or "pmap", my application still occupy a big amount of memory ?
My application use libmtmalloc.so.1 for memory allocation. I found description "After free() is executed, this space is made available for further allocation by the application, though not returned to the system. Memory is returned to the system only upon termination of the application" in the second paragraph of "malloc" man page; and description "After free() is performed this space is available for further allocation" in the thrid paragraph of "mtmalloc" man page. According to the descriptions, it seems "mtmalloc" is exactly different from "malloc", and if using mtmalloc, after "free()" the consumed memory is returned to system immediately, since in man page of "mtmalloc" it doesn't emphasize the memory is not returned to system after "free()" is called until application termination. Right ? But in our performance test we found "mtmalloc" has the same behaviour with "malloc". BR/LiJian -- This message posted from opensolaris.org _______________________________________________ dtrace-discuss mailing list [email protected]
