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

IEFUSI - SMFLIMXX - How to determine SYSRESVABOVE


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Thu Sep 05, 2019 12:05 am
Reply with quote

Hi,

I am trying to create a new PARMLIB member SMFLIMXX.
Code:
REGION JOBNAME(*) SUBSYS(JES*)
SYSRESVABOVE(50M)             
MEMLIMIT(10T) 

SYSRESVABOVE - This value reserves a specified amount of extended storage for system use such as step termination and SMF recording.
Could you please let me know how to determine the existing value in the system. So I could specify it on the member. Thank you.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Thu Sep 05, 2019 12:05 am
Reply with quote

Background to the above question:

I am trying to enable IEFUSI - Step initiation exit. Just the vanilla exit, with no usermods.
To enable it, I made changes to SMFPRMXX and everything was good.

But after enabling the IEFUSI exit, SAS jobs started failing because of insufficient memory.
Somehow the vanialla IEFUSI exit that came with z/OS 2.3 is limiting the amount of memory the jobs are getting, eventhough the MEMLIMIT is NOLIMIT.

We were told by IBM, that a new member SMFLIMXX needs to be coded according to the system setup.

The below SMFLIMXX specifications makes the jobs to run without failures,
Code:
REGION JOBNAME(*) SUBSYS(JES*)
SYSRESVABOVE(50M)             
MEMLIMIT(10T)

But how can we determien the existing values of SYSRESVABOVE, SYSRESVBELOW.

The questionmight may be too convoluted, I am happy to clarify. Thank you.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Thu Sep 05, 2019 12:56 am
Reply with quote

Console command
Code:
D SMFLIM
shows what the limits are -- our site has a response of
Code:
IFA900I 14.23.55 SMF LIMIT DATA
NO SMF LIMITS ARE IN EFFECT
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Thu Sep 05, 2019 1:40 am
Reply with quote

Thanks Robert, We also currently don't have any. And D SMFLIM shows me the same thing

Code:
 IFA900I 13.09.31 SMF LIMIT DATA 080
 NO SMF LIMITS ARE IN EFFECT   


I need to create a new SMFLIM member and not aware how to tune the SYSRESVABOVE value
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Thu Sep 05, 2019 3:11 am
Reply with quote

Is there any place in SMF which shows how much below the line, above/below the bar usage of a job step?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Thu Sep 05, 2019 3:15 am
Reply with quote

The Initialization and Tuning Guide suggests
Quote:
If you don't have any values that are established in the IEFUSI exit, select some values that seem reasonable, such as SYSRESVABOVE(50M) and SYSRESVBELOW(512K). Then, test the values off-shift or on a test system that has a similar workload on it and similar storage amounts.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Thu Sep 05, 2019 3:27 am
Reply with quote

Quote:
Is there any place in SMF which shows how much below the line, above/below the bar usage of a job step?
I don't see anything in the type 30 SMF record layouts, so I don't think there's anything available. I'll do more research as I get time.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Fri Sep 06, 2019 12:07 am
Reply with quote

Quote:
If you don't have any values that are established in the IEFUSI exit, select some values that seem reasonable, such as SYSRESVABOVE(50M) and SYSRESVBELOW(512K). Then, test the values off-shift or on a test system that has a similar workload on it and similar storage amounts.


Hi Robert, Thanks again, We have a test system, but there are not a lot of variety of jobs that run there. Guess we have to set SYSRESABOVE to 50M. 50M or 25M both sounds same to my brain, because I don't have understanding of how much programs use currently.

I guess the manual says 50M, so it should be reasonable. I guess we are going to go YOLO with 50M and correct if there are failures.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Fri Sep 06, 2019 12:09 am
Reply with quote

Quote:
I don't see anything in the type 30 SMF record layouts, so I don't think there's anything available. I'll do more research as I get time.
The first time some instrumentation information does not appear to be on SMF
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Wed Sep 11, 2019 2:46 am
Reply with quote

Quote:
SYSRESVABOVE - This value reserves a specified amount of extended storage for system use such as step termination and SMF recording.

One question to clarify my understanding, suppose if we mention SYSRESVABOVE(50M),
does this mean that 50M is reserved for all jobs that start on the Mainframe, even though if it is an IEFBR14 step?

Suppose if there are 20 jobs running simultaneously, then would the jobs reserve 1000M?

Does this have a potential to cause paging?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Wed Sep 11, 2019 7:08 am
Reply with quote

Quote:
Suppose if there are 20 jobs running simultaneously, then would the jobs reserve 1000M?

Does this have a potential to cause paging?
Yes, but if there are 20 jobs running then they are using 20 address spaces and hence potentially could have up to 40 GB of memory (depending upon site parameters) -- in which case 1 GB reserved for the system doesn't add up to too much.

Paging is caused by memory usage being required to be swapped out -- SYSRESVABOVE is reserving memory for the system; it does NOT indicate that a single byte of that memory is actually being used. Hence SYSRESVABOVE (and SYSRESVBELOW) do not, per se, indicate that any system paging is going to occur.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Wed Sep 11, 2019 10:53 pm
Reply with quote

Quote:
Paging is caused by memory usage being required to be swapped out -- SYSRESVABOVE is reserving memory for the system; it does NOT indicate that a single byte of that memory is actually being used. Hence SYSRESVABOVE (and SYSRESVBELOW) do not, per se, indicate that any system paging is going to occur.


Sorry that I am asking this over and over again, just trying to understand the concept, please bear with me. Suppose if 1GB is reserved, then that 1GB is not available for jobs/tasks to use for processing as it is reserved for the system. In this case if there is a demand for storage, then would it not cause paging?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Wed Sep 11, 2019 11:56 pm
Reply with quote

Quote:
In this case if there is a demand for storage, then would it not cause paging?
The key word in this statement is "if".

First, it is not 1 GB of storage from an address space -- the recommendation in the manual is to start with SYSRESVABOVE(50M), so you're talking about 50 megabytes out of each address space of 2 gigabytes. While there's no indication either way in the manual, most likely the same 50 megabytes of addresses are reserved across the various address spaces.

Second, the address space size minus the reserved leaves 1.95 gigabytes of memory for the application (less the .016 gigabytes of below-the-line storage, of course). In order for the system to be paging, a good part of that 1.95 GB of memory would have to be in use. While I've run a few jobs that used that amount of memory (SAS PROC FACTOR, PROC CLUSTER, PROC GLM are the three main culprits I recall), most programs simply don't use that much memory when executing. So while paging is possible, I certainly would not expect a dramatic increase in paging just because 50 MB is reserved in the 2 GB address space. If such an increase were to occur, then that program (or job) is a good candidate for tuning!
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1744
Location: Tirupur, India

PostPosted: Thu Sep 12, 2019 3:59 am
Reply with quote

Thank you for the information Robert. I am clearer on the concept.
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 -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts Cobol program to determine the sequen... COBOL Programming 2
No new posts How to determine TLS/SSL version in m... TSO/ISPF 2
No new posts How to determine is PDS member is bei... CLIST & REXX 13
No new posts Is there a way to determine Clist usa... CLIST & REXX 10
No new posts Determine Library REXX exec was execu... CLIST & REXX 7
Search our Forums:

Back to Top