SAPTechno

Note 121625 - AS/400: Buffer sizes

Header
Version / Date 16 / 2008-04-22
Priority Recommendations/additional info
Category Consulting
Primary Component BC-OP-AS4 IBM AS/400
Secondary Components

Summary
Symptom

As a result of a limitation of the OS/400 operating system, it is not possible to create an individual storage object with more than 16 MB.
This results in restrictions with regard to the maximum size of some R/3 buffers.

Additional key words

PXA, table buffers, ATP, PAGING, iSeries

Cause and prerequisites

16 MB limit in OS/400 for individual storage objects.

Solution

This Note is a collective note for all problems with the 16 MB limitation on AS/400. Since we are presently working on eliminating the limitation by implementing the relevent buffers in a different way, this Note may change.

1.  Buffer/Storage Types Without Restriction
1.1 PXA Buffer

    Parameter: abap/buffersize
    The PXA buffer is not subject to any direct restrictions as of
    Release 3.0A.
    (See Note 67231). Useful values are:
    up to kernel Release 3.1H: abap/buffersize <= 250000
    as of kernel Release 3.1I: abap/buffersize <= 800000
    as of kernel Release 4.0B: abap/buffersize <= 1500000
    as of kernel Release 4.6A: abap/buffersize <= 2000000
    However, this is subject to the usage profile of the
    application server. As long as less than 2048 entries are used
    in the PXA, the buffer can be increased without restriction.
    If many R/3 applications are used in an instance, swapping can
    occur with 3000-5000 objects in the PXA.
    In most cases, only an application server-splitting helps to
    distribute different applications onto different application
    servers.
    For kernel Release 3.1I and 4.0B, a patch was created (see
    Note 121808), which can be imported for swaps in the PXA buffer
    and eases the situation until kernel Release 4.5A is available.
    As of Release 4.5A, the PXA buffer can be increased without
    regard to the number and use of the entries as long as the
    administrative section of the buffer is < 8MB. The size of the
    administrative section depends on the number of work processes
    and the number of internal segments. The latter is determined
    from the size of the PXA buffer divided by 8KB:
    abap/buffersize / 8196. If you want to change the value of
    abap/buffersize, you should always carry out tests in the
    test system using the intended new value and the same number of
    work processes as in the system in production to determine
    whether the system starts without problems with these
    settings. Exceeding the internal limitation immediately shows
    after starting the system: the work processes terminate.

    As of Release 4.6A, the buffer is completely preallocated with the
    specified size.

1.2 Generic Key Table Buffer

    Parameter: zcsa/table_buffer_area
    As of kernel Release 3.1I and 4.0B, this buffer is no longer
    subject to the 16 MB restriction (see Note 110157).

1.3 Paging Storage

    Parameter: rdisp/PG_MAXFS
               rdisp/PG_SHM
    As of Release 3.0A, this storage type is no longer subject to the
    16 MB restriction (see Note 44695).

1.4 Export/Import Buffer, ATP Buffer
    Parameter: rsdb/obj/buffersize
    As of Release 4.5A, this buffer is no longer subject to the 16 MB
    restriction.

1.5 Enqueue Table

    Parameter: enque/table_size
    As of kernel Release 3.1I and 4.0B, this buffer is only partially
    subject to the 16 MB restriction (see Note 111289).
    The limit is presently about 40 MB.
    As of kernel Release 4.6A, this buffer is no longer subject to the
    16 MB restriction. The limit is 2 GB.

1.6 Nametab Buffer (only R/3 Releases 4.x and Higher)

    Parameter: rsdb/ntab/entrycount
               rsdb/ntab/ftabsize
    Shared memory key: SHM_DB_FTBUFF
    As of kernel Release 4.0B, this buffer is no longer subject to
    the 16 MB restriction (see Note 126210).

2.  Buffer/Storage Types with 16 MB Restriction
2.1 Roll Memory, Heap Memory and Extended Memory

    Parameter: ztta/max_memreq_MB                ztta/roll_area
               em/blocksize_KB
    Up to Release 4.5B, storage of these storage types is subject to
    the 16 MB restriction (see Note 44695).
    This concerns, for example, the sorting of large internal
    tables (see Note 82586).
    As of kernel Release 4.6A, this storage is no longer subject to the
    16 MB restriction. em/initial_size_MB is preallocated and specifies
    the maximum size of the entire extended memory on the application
    server.

2.2 Nametab Buffer (only for R/3 Releases 3.x)     Parameter: rsdb/ntab/entrycount
               rsdb/ntab/ftabsize

    Shared memory key: SHM_DB_FTBUFF
    This buffer is subject to the 16 MB restriction (see Note 119754).
    As of kernel Release 4.6A, this buffer is no longer subject to the
    16 MB restriction. See point 1.6 above for details.

2.3 WP_CA/APPC_CA Blocks     Parameter: rdisp/appc_ca_blk_no
               rdisp/wp_ca_blk_no

    Shared memory key: SHM_DP_CA_KEY
    These control structures are subject to the 16 MB restriction
    (see Note 79478).
    As of kernel Release 4.6A, these control structures are no longer
    subject to the 16 MB restriction.

2.5 Single Record Table Buffer     Parameter: rtbb/buffer_length
    Maximum: 16383
    Shared memory key: SHM_DB_TBUFF_P

    As of kernel Release 4.6A, this buffer is no longer subject to the
    16 MB restriction. The limit is 2 GB.

2.6 CUA Buffer     Parameter: rsdb/cua/buffersize
    Maximum: 16383
    Shared memory key: SHM_DB_CUA_BUFFER

    As of kernel Release 4.6A, this buffer is no longer subject to the
    16 MB restriction. The limit is 2 GB.

2.7 Screen Buffer     Parameter: zcsa/presentation_buffer_area
    Maximum: 16773120
    Shared memory key: SHM_PRES_BUF

    As of kernel Release 4.6A, this buffer is no longer subject to the
    16 MB restriction. The limit is 2 GB.

3.  Error Analysis

    The shared memory keys were entered for error analysis for
    the buffers restricted to 16 MB, provided they could directly
    lead to errors when starting the R/3 System. Together with
    Note 79478, these help you find the affected buffer and profile
    parameter.

Affected Releases
Software Component Release From Release To Release And subsequent
SAP_APPL3031I31I
SAP_APPL4040B40B
SAP_APPL4545B45B

Related Notes
187464Single record buffer overflow table USR12 on AS/400
121808Swaps in program buffer although space is free
103747Performance: Parameter recommendations as of Release 4.0
101113AS/400: Analysis of performance problems