A few suggestions for looking at the dump with IPCS.  

Under the COMMAND panel, try VERBX VSMDATA 'SUMMARY'

Then go to the end and there is a nice summary.  Find the subpool where most of 
your storage is used, then go back in the listing and find repetitive sizes in 
that subpool, then go into the view panel and look at some of those areas.  
That will generally tell you if it is you because you recognize the data, or 
maybe there is an eyecatcher in the memory.

The other thing I find interesting is the fact that you are up to 17T real 
pages.  Either some program is looking at a lot of storage all the time, or 
that storage has been pagefixed.  If it was not pagefixed, the system probably 
would have paged some of that storage out.  To see what is pagefixed you can 
run a RSMDATA report.

Chris Blaicher
Phone: 512-340-6154
Mobile: 512-627-3803

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Michael Knigge
Sent: Monday, October 26, 2009 5:51 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Does a DD-Statement "waste memory" after dealloc?

Miklos,

> We are also around dynalloc from C/C++, but
> You are saying 17000 pages , but the used storage also high  ?  
> (RPTSTG(ON))
> So is it a reall  a memory leak (HEAPC(ON,0,0,20)) or just a high real 
> storage usage ?
> The LE runtime HEAPOOL(ALIGN) can make big differences .

Well, maybe I'm currently a little bit dumb, but where is the 
difference? When my Prog starts, SDSF reports something around 1700 used 
pages (ehh, a page is 4K, right?).

After some time, it reports (for example today) 15T pages  (I assume 
T=thousand). The prog does a DYNALLOC, OPEN, READ/WRITE, CLOSE, DEALLOC.

So somehwere is a memory leak. The last days I tried to find it using 
different techniques. I used a wrapper around malloc(), calloc(), 
realloc() and free() to track my own memory allocations. Result: No 
leak! Nearly everything I allocate gets freed too.

I've also used the Heap-Manager "CEL4MCHK"... again: no leak.


So... Until now I can be sure that I've no obvious memory leak in my 
application. Now I assume something that is special to the z/OS 
Envoronment makes my application use that much memory (the application 
runs also on Linux, AIX, SunOS and Windows - no high memory usage is 
seen on these platforms).


Just a few minutes ago I've captured a SVC Dump of my prog - since I've 
never done things with IPCS this brings me not any further. I'll have to 
get familar with IPCS first.


I also cancelled the prog and generated a dump - the dump has been 
catched by the IBM Application Fault Analyzer and I'll throw an eye on 
the analysis later. What I've seen so far is a error message:

<snip>
*ERROR* The left node address 1E222AD8 is larger than the parent node 
address 1E222098
</snip>

whatever IBM tries to tell me with this left-right stuff ;-> I'll 
consult the manual later.... Maybe I'm somehow irritating the heap 
manager....



Bye,
Michael

-- 
Yours sincerely

Michael Knigge
Development


S.E.T. Software GmbH
Lister Straße 15
30163 Hannover
GERMANY

Tel.  +49 511/3 97 80-23
Fax   +49 511/3 97 80-65
michael.kni...@set-software.de

Commercial Registry: HRB52778 Local Court Hannover
Chief Executive Officer: Till Dammermann, Dr. Bernd Huber

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu 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 lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to