Extended system queue area (ESQA)

The extended system queue area (ESQA) is a major element of z/OS® virtual memory above the 16 MB line. This storage area contains tables and queues relating to the entire system, and duplicates above the 16 MB line the system queue area (SQA). Kernel services use ESQA in support of several functions. You can use formulas to predict some of the ESQA usage, but others can only be estimated. The maximum amount of ESQA consumed by z/OS UNIX shared memory functions can be limited by the value that is specified in MAXSHAREPAGES.

The following functions consume ESQA:
  1. Signaling uses service request blocks (SRBs) to notify the target of a signal. Signaling frequency is typically not very high and the SRBs are short-lived. For most installations, more ESQA does not need to be allocated in order to support signaling. If you run applications that use signals frequently, increase your ESQA allocation.
  2. Using asynchronous socket services causes SRBs to be allocated. Allocate another 100 KB of ESQA if you use asynchronous socket heavily.
  3. The following functions use an MVS™ service called IARVSERV:
    • fork() when fork is using copy-on-write (COW) mode
    • mmap(), memory map files
    • ptrace(), debugger support
    • shmat(), shared memory attach

    For each real page of shared storage that is managed by IARVSERV, real storage manager (RSM) allocates a 40-byte anchor block in ESQA; this anchor block represents the share group. For each virtual page that is connected to a shared real page, RSM allocates a 40-byte control block in ESQA; this control block represents a view of the shared page.

    Setting the BPXPRMxx FORKCOPY parameter to COPY prevents fork() processing from using the IARVSERV function, which reduces ESQA usage.