On 9 Oct 2009 01:35:23 -0700, in bit.listserv.ibm-main you wrote: >All, > > >I currently try to find a obscure memory leak in one of our >applications. After some days our appl occupies ~17.000 pages of real >memory (needs just ~1.500 after startup). > >As we track all malloc(), calloc(), realloc() and free() function calls, >I can say that there is no obvious memory leak.... > >Now... after I've looked at the JESYSMSG I've noticed that we've done >approx 17.000 DYNALLOCs, everyone with a different DD-Name (we let the >z/OS generate a unique one, like "SYS00001", "SYS00002", "SYS00003" and >so on)..... to be clear: *NOT* ~17.000 at the same time. mostly only one >at the same time...
If these are for QSAM data sets, does the C program do a FREEPOOL (free the buffer pool) on CLOSE. For reasons I don't understand, apparently CLOSE does not automatically free the buffers. I think the COBOL implementors were smart enough to understand this and did the FREEPOOL. Others who understand more about this can clarify what I have said. > >Of couse, we deallocate them after we've finished using the DD-Name, but >I wonder that even after a DEALLOC (with SVC99) there is some space >still occupied.... > >Why? Because of performance? Because of some kind of control block that >can only grow but not shrink? > > >Thanks, >Michael > >---------------------------------------------------------------------- >For IBM-MAIN subscribe / signoff / archive access instructions, >send email to [email protected] with the message: GET IBM-MAIN INFO >Search the archives at http://bama.ua.edu/archives/ibm-main.html ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

