DB2 - Problem description
Problem IC84967 | Status: Closed |
DB2 Private Memory leak in DB2 9.7 FP6 triggered by use of db2ReadLog API in applications (common in replication solutions) | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem 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 | |
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 * **************************************************************** | |
Local Fix: | |
There is no Local Fix to the issue. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 Version 9.7 Fix Pack 6 ( 9.7.0.6 ) dated July.3.2012 Build number = s120629 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 28.06.2012 16.07.2012 04.09.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.0.6, 9.7.FP6 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.7 |