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

Reply via email to