Skip to Main Content
IBM Z Hardware and Operating Systems Ideas Portal


This is the public portal for all IBM Z Hardware and Operating System related offerings. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Functionality already exists
Workspace z/OS
Created by Guest
Created on Sep 4, 2024

Know how close an AS is to exceeding MEMLIMIT

MEMLIMIT is defined as the limit of private virtual storage that an address space can use above the bar any given time.

But, guarded virtual storage and storage obtained with memlimit=no does not count against the MEMLIMIT.

In SMF is reported SMF30HVO and SMF30HVH.

SMF30HVO: Amount of 64-bit private storage in bytes that is obtained by this step or job. This includes guarded virtual storage and storage obtained with memlimit=NO.

SMF30HVH: High water mark for the number of usable bytes of 64-bit private storage that are obtained by this step or job. This does not include guarded virtual storage but it does include storage obtained with memlimit=NO.

But reviewing this information is not posible to know if an Adress space is near to exceed the specified MEMLIMIT, you don't have control over memlimit=no storage.

Knowing how close you are to exceeding memlimit is valuable.

Would it be possible to implement some variable that represents the amount of 64-bit private storage in bytes that is obtained by one step or job, but that does not include the guarded virtual storage neither the storage obtained with memlimit=no?, or maybe two, one with the value at any given time and another with a High water mark.

In the same way, in the SDSF AS panel (Address Space Memory), the values for "MemObjUsed" and "MemObjHWM" also include storage obtained with memlimit=NO, so there is no variable comparable to memlimit, so it is not possible to know either how close an AS is to exceeding memlimit.

Idea priority Medium
  • Guest
    Reply
    |
    Nov 21, 2024
    There are MEMLIMIT notes in the prolog of IARRAX:

    /* MEMLIMIT NOTES: @PLA*/
    /* */
    /* Determining the MEMLIMIT (64-bit High Virtual storage limit): */
    /* How the MEMLIMIT was last set is indicated in RAXLVMemLimS. */
    /* RAXLVMemLim contains the MEMLIMIT in all cases except when */
    /* RAXLVMemLimS = RAXLVSMF in which case the greater of */
    /* RAXLVMemLim and the SMF default, SMCXMEML (in IEESMCX), is */
    /* used. SMCXMEML can change in either direction at any time. */
    /* See the documentation for information on how the MEMLIMIT */
    /* is determined and changed. */
    /* */
    /* Determining virtual storage charged towards the MEMLIMIT: */
    /* (RAXLVABytes - (RAXLVHBytes + RAXLVABytesNoMem)) = the total */
    /* bytes charged toward the MEMLIMIT. The RSM Exclusive or */
    /* RSMAD lock serializes all three values. Holding only the */
    /* local lock can result in an incorrect value. Note that */
    /* there is no MEMLIMIT chargeable storage high water mark. */
    /* RAXLVGBytes is close but included RAXLVABytesNoMem when */
    /* it was computed i.e. (RAXLVABytes - RAXLVHBytes) */

    Does this information help?
    Using the above RAX fields will give you what you need, or are SMF fields needed to satisfy this request?
    1 reply