Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

memory allocated to a CICS program

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
deepaannjohn

New User


Joined: 23 Feb 2006
Posts: 19
Location: Bangalore

PostPosted: Thu Dec 04, 2008 12:53 pm    Post subject: memory allocated to a CICS program
Reply with quote

Hi,

Can some one enlight me on how CICS decides the memory needed to be allocated to a program?

The program is coded according to CICS 3.1 standards and I am using channels and containers?

The WS variables come up to 38KB. The total memory used as can be seen from the trace is 254 Kb.

My guess is that apart from WS memory, the memory allocated for program execution will include the total size of the channel.

But iw as surprised to see that with even when i tested with different data, the memory allocated remained constant which is 254 Kb.

Please help.
Back to top
View user's profile Send private message

Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Fri Dec 05, 2008 1:43 am    Post subject:
Reply with quote

channels, containers, storage getmains, etc. are outisde of the program code memory size.

why are you concerned with this ? are you having short on storage
conditions in CICS region?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7996
Location: Bellevue, IA

PostPosted: Fri Dec 05, 2008 2:19 am    Post subject:
Reply with quote

Quote:
My guess is that apart from WS memory, the memory allocated for program execution will include the total size of the channel.
Do you have some basis for this guess other than sheer speculation? What does CEMT I PROG(????????) show you -- perhaps something about 260,096 bytes? And when you say
Quote:
Can some one enlight me on how CICS decides the memory needed to be allocated to a program?
do you mean just the program executable memory, or other things -- many of which, as Earl points out, will not be part of the program memory?
Back to top
View user's profile Send private message
deepaannjohn

New User


Joined: 23 Feb 2006
Posts: 19
Location: Bangalore

PostPosted: Fri Dec 05, 2008 10:21 am    Post subject: Reply to: memory allocated to a CICS program
Reply with quote

Hi,

I am using the 'trace' facility in omegamon xe to see the finer details of my program execution. i have the option of seeing the getmain issued by cics for a particular program in 'trace'.

Copy pasting that below:


│ EXECIN │ BNSPXXXX│FFFFFF│ GETMAIN │ 259528
│ EXECOUT│ BNSPXXXX│FFFFFF│ GETMAIN │2701C478

Here BNSPXXXX is my program name and cics tried to do a getmain for 259528 memory.

The concern from the CICS consultant is that 254K for one single Getmain is huge.

I need to bring this figure down.

So i am trying to figure out how cics determines this figure and accordingly i need to perform some memory tuning.

FYI, my program does not issue any getmain, its done by cics on behalf of my program.










[/quote]
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Fri Dec 05, 2008 10:37 am    Post subject:
Reply with quote

Hello,

Does your program parse xml?

What sort of things does the program do (database, vsam, panel(s), mq, other service)?

What is going on in the code immediately before the getmain?
Back to top
View user's profile Send private message
deepaannjohn

New User


Joined: 23 Feb 2006
Posts: 19
Location: Bangalore

PostPosted: Fri Dec 05, 2008 12:29 pm    Post subject: Reply to: memory allocated to a CICS program
Reply with quote

Hi,

The program does not parse any XML. There is no MQ. Its having a bit heavy application logic. And the WS memory is ~38KB.

the program does not issue a get main instea cics does it on behalf of the program.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7996
Location: Bellevue, IA

PostPosted: Fri Dec 05, 2008 5:46 pm    Post subject:
Reply with quote

Perhaps you should go back to the CICS consultant and discuss the program with that person. We have programs in our CICS regions that regularly go over 1 million bytes of storage used according to Mainview; unless you start getting Short-On-Storage messages in the CICS region I wouldn't want to spend much time investigating the memory usage of a single program. And even if the messages start to show up, you need to determine whether the memory this program is using is from the storage pool that is going short on storage.
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Fri Dec 05, 2008 11:47 pm    Post subject:
Reply with quote

how large are your channels/containers ?
Back to top
View user's profile Send private message
deepaannjohn

New User


Joined: 23 Feb 2006
Posts: 19
Location: Bangalore

PostPosted: Tue Dec 09, 2008 2:39 pm    Post subject: Reply to: memory allocated to a CICS program
Reply with quote

Hi Earl,

The memory in channel is 107702 k
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Wed Dec 10, 2008 1:53 am    Post subject:
Reply with quote

ask your cics consultant when does cics system acquire the large piece
of memory on behalf of your program.
Back to top
View user's profile Send private message
pankaj_kulkarni111

New User


Joined: 17 Aug 2006
Posts: 13
Location: Pune

PostPosted: Wed Dec 17, 2008 1:53 am    Post subject:
Reply with quote

1. Do you access mainview from your TSO? Mainview is a admin tool used for DB2, IMS, CICS etc..
2. If yes, you can check the memory used by each transaction but my dear you need to watch that happening few times and then you can decide on the memory usage for specific transaction
3. I don't think you can control the memory allocated to any specific program. instead the memory is allocated to a CICS region in which your programs are running.
4. For example, CTSUT1 is your CICS region, then you can just check that CICS region in SDSF DA and from REGION=*** , you can come to know the memory allocated to that CICS region.
5. If your CICS man think that 254K for one single Getmain is huge, then ask him to reduce the memory and see performance for a couple of days, though it's risky if its production region
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Date and time format in CICS Chandru3183 CICS 2 Sat Mar 18, 2017 12:46 pm
No new posts Asynchronous CICS Processing Question moezbud CICS 0 Mon Mar 06, 2017 6:13 pm
No new posts CICS Question RE: Browse, Readnext an... moezbud CICS 7 Sun Mar 05, 2017 5:45 am
No new posts how to send just 10 rows in a CICS sc... Megha Gupta CICS 5 Thu Feb 23, 2017 6:57 pm
No new posts SQL query not working in Cobol program. CuriousMainframer COBOL Programming 14 Wed Feb 22, 2017 5:56 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us