IBM Support

IC77856: DB2 INCORRECTLY RELEASES SHARED MEMORY ON LINUX, LEADING TO PAGING, PERFORMANCE DEGRADATION

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • DB2 is intending to use the MADV_REMOVE flag on Linux to
    decommit memory with the madvise() API, but instead is falling
    back to a weaker MADV_DONTNEED flag.  This is due to an
    incorrect attempt to use MADV_REMOVE with memory mapped stack
    memory.
    
    As a result, DB2's shared memory is not being decommitted, but
    only unmapped.  Memory is not being released dynamically by DB2
    as expected and is also highly eligible for paging out, which
    can later result in performance degradation on page-ins if DB2
    wants to reuse the memory.  STMM will also not account for this
    memory in its target calculations, since it appears in memory
    statistics as though it were clean file cache pages, and
    available for other use.  This leads to memory overcommitment in
    STMM-tuned environments.
    
    Please note that vm.swappiness should be set to 0 for DB2
    systems, otherwise this may result in system swapping when there
    is no memory overcommitment.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All DB2/Linux systems                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 Version 9.7 Fix Pack 5 or higher              *
    ****************************************************************
    

Problem conclusion

  • Problem first fixed in DB2 Version 9.7 Fix Pack 5
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC77856

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-07-31

  • Closed date

    2011-12-22

  • Last modified date

    2011-12-22

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IC78091

Modules/Macros

  • engn_sqo
    

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R950 PSN

       UP

  • R970 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC77856

Modified date: 22 December 2011