DB2 - Problem description
Problem IC69277 | Status: Closed |
BSU HEAP MEMORY LEAK WHEN ABP PROCESSING CAN'T SPAWN NEW AGENT -1223 | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
BSU heap memory leak occurs if ABP (Asynchronous Background Processing) hits the maximim allowed agents. Typically the following error message may be seen in db2diag.log: 2010-03-17-02.05.26.523520+000 I1762474A390 LEVEL: Error PID : 3170456 TID : 1 PROC : db2taskp (DBDB) 0 INSTANCE: inst1 NODE : 000 DB : DBDB APPHDL : 0-1087 APPID: *LOCAL.DB2.100317021212 AUTHID : INST1 FUNCTION: DB2 UDB, base sys utilities, sqleGetAgent, probe:70 MESSAGE : Agent not allocated, sqlcode = -1223 You might see those ABP agents (db2taskp) spawned as part of Asynchronous Index Cleanup which happens if you DETACH partitions on a range partitioned table where indexes do exists. If this occurs DB2 may leak a small amount of memory. The leak may be observed in the db2pd memory block output for the BSU heap (pool 71): Memory blocks in DBMS set for pool 71. Address PoolID PoolName BlockAge Size(Bytes) I LOC File 0x0780000001B40068 71 bsuh 60549 27 1 287 3997065017 0x0780000001B400A8 71 bsuh 60550 9 1 256 1410089717 0x0780000001B400E8 71 bsuh 60554 27 1 287 3997065017 0x0780000001B40128 71 bsuh 60555 9 1 256 1410089717 ... Memory blocks sorted by size for bsuh pool: PoolID PoolName TotalSize(Bytes) TotalCount LOC File 71 bsuh 3350322 124086 287 3997065017 71 bsuh 1116774 124086 256 1410089717 ... The leak occurs in a pair of the two allocations above. Over time the BSU heap may eventually become exhausted at which point an SQLO_NOMEM_BSUH ("No memory available in 'BSU Heap'") error will be reported in the db2diag.log. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * BSU heap memory leak occurs if ABP (AsynchronousBackground * * Processing) hits the maximim allowedagents. Typically the * * following error message may beseen in * * db2diag.log:2010-03-17-02.05.26.523520+000 I1762474A390 * * LEVEL:ErrorPID : 3170456 TID : 1 * * PROC :db2taskp (DBDB) 0INSTANCE: inst1 NODE : * * 000 DB : DBDBAPPHDL : 0-1087 APPID: * * *LOCAL.DB2.100317021212AUTHID : INST1FUNCTION: DB2 UDB, * * base sys utilities, sqleGetAgent,probe:70 MESSAGE : Agent * * not allocated, sqlcode = -1223You might see those ABP agents * * (db2taskp) spawned as partof Asynchronous Index Cleanup * * which happens if you DETACHpartitions on a range partitioned * * table where indexes doexists.If this occurs DB2 may leak a * * small amount of memory.The leak may be observed in the db2pd * * memory blockoutput for the BSU heap (pool 71):Memory blocks * * in DBMS set for pool 71.Address PoolID * * PoolName BlockAgeSize(Bytes) I LOC * * File0x0780000001B40068 71 bsuh 60549 271 * * 287 39970650170x0780000001B400A8 71 bsuh * * 60550 91 256 14100897170x0780000001B400E8 71 * * bsuh 60554 271 287 39970650170x0780000001B40128 * * 71 bsuh 60555 91 256 1410089717...Memory * * blocks sorted by size for bsuh pool:PoolID PoolName * * TotalSize(Bytes) TotalCount LOC File71 bsuh * * 3350322 124086 287399706501771 bsuh * * 1116774 124086 2561410089717...The leak * * occurs in a pair of the two allocations above.Over time the * * BSU heap may eventually becomeexhausted at which point an * * SQLO_NOMEM_BSUH("No memory available in 'BSU Heap'") error * * will bereported in the db2diag.log. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 UDB Version 9.7 FixPak 3 * **************************************************************** | |
Local Fix: | |
There is no real work around for the leak, however it is small an is unlikely to affect systems that are periodically restarted, so this may be a means to avoid running out of BSU heap space. Try to avoid running many DETACH commands in parallel or raise dbm cfg MAXAGENT setting. How many ABP agents can be spawned depends indirectly on the MAXAGENT configuration parameter. Note there is still no guarantee to avoid the leak completly, but this helps to probably reduce the amount of leaked memory. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 UDB Version 9.7, FixPak 3 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 16.06.2010 27.09.2010 27.09.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.7. | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.3 | |
9.7.0.3 |