IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

memory allocated to a CICS program


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
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
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
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: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Dec 05, 2008 2:19 am
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
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

Moderator Emeritus


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

PostPosted: Fri Dec 05, 2008 10:37 am
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
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: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Dec 05, 2008 5:46 pm
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
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
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
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
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 View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Allocated cylinders of a dataset DB2 12
No new posts Parallelization in CICS to reduce res... CICS 4
Search our Forums:

Back to Top