DB2 - Problem description
Problem IT21799 | Status: Closed |
DB2 HEALTH MONITOR PROCESS (DB2ACD) MIGHT LEAK MEMORY IN HADR ENVIRONMENT AFTER A TAKEOVER | |
product: | |
DB2 FOR LUW / DB2FORLUW / B10 - DB2 | |
Problem description: | |
In DB2 HADR environment, DB2 health monitor process might leak memory after a TAKEOVER. Once database is activated and first TAEKOVER is issued, the leak will be exposed only on the former PRIMARY (then STANDBY), after a subsequent TAKEOVER, problem will be visible on both instances. Rate of the leak is around 4kB per minute and will occur also with default HEALTH_MON OFF in database manager configuration. To confirm this specific problem is hit, one can: 1. Check PID of health monitor process: $ db2pd -edus | grep db2acd 2. Use db2pd to traverse the heap of db2acd process and list internal headers of memory allocations by running: $ db2pd -memblocks private pid= 3. Leak can be identified by examining the output of the command above. Leaking allocation will have: - PoolID/PoolName 'OSSe' - two leaking allocations, with size of 4267 bytes from LOC (line of code) 1207 and with size of 64 bytes from LOC 1199 (LOC might slightly differ between fix packs) e.g. Address PoolID PoolName Size(Bytes) LOC File 0x00007FB0E42A5770 OSSe OSSe 64 1199 0 0x00007FB0E42A57E0 OSSe OSSe 4267 1207 0 0x00007FB0E42A68C0 OSSe OSSe 64 1199 0 0x00007FB0E42A6930 OSSe OSSe 4267 1207 0 0x00007FB0E42A7A10 OSSe OSSe 64 1199 0 0x00007FB0E42A7A80 OSSe OSSe 4267 1207 0 0x00007FB0E42A8B60 OSSe OSSe 64 1199 0 0x00007FB0E42A8BD0 OSSe OSSe 4267 1207 0 | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to Db2 11.1 Mod 2 Fix Pack 2 or higher * **************************************************************** | |
Local Fix: | |
Memory can be released by restarting health monitor process. There is not explicit way to do it, but db2acd can be terminated as any other fenced process using db2fmpterm command and once terminated, it will be automatically restarted: $ db2fmpterm | |
Solution | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : IT17821 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.08.2017 24.10.2017 24.10.2017 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |