IBM Support

IC84967: DB2 Private Memory leak in DB2 9.7 FP6 triggered by use of db2ReadLog API in applications (common in replication solutions)

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • When using DB2 Version 9.7 Fix Pack 6, Memory is consumed
    quickly in the DB2 private memory when an application uses the
    db2readlog API to extract log records (common in replication
    solutions). This leads to a severe memory leak.
    
    On DB2 Version 9.7 Fix Pack 6, private memory usage grows
    quickly on the DB2 server ( db2sysc or db2syscs.exe process )
    when applications are initiating log read requests through the
    db2ReadLog API.
    
    There may be a wide variety of symptoms such as;
    
        out of instance memory,
        STMM detuning,
        system paging, hangs or failover.
    
    An example of an application using the db2readlog api is IBMᄅ
    Infosphereᄅ Replication Server (Data propagator). There maybe
    other IBM or 3rd party 'Log reader' type applications which also
    uses this API.
    
    This problem was first introduced in DB2 Version 9.7 Fix Pack 6
    (9.7.0.6)
    
    To identify if you are hitting the issue:
    
        Verify the DB2 Fixpack level by running the db2level command
    to ensure you are on DB2 9.7 Fix Pack 6
    
    2. Ensure that you are running an application that uses the
    db2readlog API to extract the LOG records. Application snapshot
    returns the application name. Example of applications using the
    db2readlog API are bg_realtime_server, asncap.
    
    Example of Application name as seen in the application snapshot
    ouput:
    
    Application name                           = ASNCAP.exe
    
    3. If you notice the system memory usage grows quickly, perform
    the following diagnosis to confirm you have encountered this
    issue:
    
    a) Gather application snapshots and verify if "Other Memory" is
    high (i.e. > 10MB) and is continuing to grow,
    
    Example entry as follows:
    Memory Pool Type                       = Other Memory
            Current size (bytes)                = 719257600
            High water mark (bytes)             = 720764928
            Configured size (bytes)             = 8539602944
    
    b) Gather db2pd -memb pid= output. It will show an increasing
    number of allocations of size equal to LOGBUFSZ (database
    configuration parameter) with the file hash reference 419169217
    and location code 847 .
    
    Example entry as follows:
    Address            DataAddress        PoolID     PoolName
    BlockAge   Size(Bytes) TID         I LOC   File
    0x000000055D497FC8 0x000000055D497FE0 88         private
    39046 4096000     4896  1 847   419169217
    

Local fix

  • There is no Local Fix to the issue.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * ALL                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * If the system is running the initial version of 9.7 FP6      *
    * (build number s120516 ) then upgrade to 9.7 FP6 build number *
    * s120629                                                      *
    ****************************************************************
    

Problem conclusion

  • First fixed in DB2 Version 9.7 Fix Pack 6 ( 9.7.0.6 ) dated
    July.3.2012  Build number = s120629
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC84967

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Installability /

  •  

    Pervasive / Serviceability / Xsystem

  • Submitted date

    2012-06-28

  • Closed date

    2012-07-16

  • Last modified date

    2012-09-04

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

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R970 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC84967

Modified date: 04 September 2012