DB2 - Problem description
Problem IC71508 | Status: Closed |
STMM MIGHT INCORRECTLY CALCULATE DATABASE MEMORY TARGETS SIZE UNDER CERTAIN CIRCUMSTANCES | |
product: | |
DB2 FOR LUW / DB2FORLUW / 950 - DB2 | |
Problem description: | |
STMM incorrectly calculates database memory targets size and an overflow happened due to the free memory target being greater than database configured memory set when there isn't enough free memory in the machine. STMM tries to leave a certain percentage of memory as free memory, called the free memory target. When the free memory target is bigger than a database memory set while there isn't enough free memory in the machine, STMM may "incorrectly" decide to shrink the database memory set below 0. This leads to an overflow of the target database memory set size and the target consumer size those are reported in STMM.log Additionally, the error message like "ZRC=0xFFFFEC49=-5047" will appear in db2diag.log whenever the free memory in the box runs out, The error will also disappear on its own when some free memory becomes available in the box. Here is an example db2diag.log entry : 2010-08-23-01.22.46.494522+480 E47256126A631 LEVEL: Warning PID : 303152 TID : 35746 PROC : db2sysc 0 INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE APPHDL : 1-60027 APPID: *N1.DB2.100822171046 AUTHID : DB2INST1 EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 FUNCTION: DB2 UDB, Self tuning memory manager, stmmCheckIfFreeMemoryIsEnoughForSizeIncr, probe:667 MESSAGE : ZRC=0xFFFFEC49=-5047 DATA #1 : String, 143 bytes There is not enough free memory for size increase. Free memory in pages: Physical memory = 0, Instance memory = 160917, Database memory = 33072 Here is an example stmm.X.log entry: 2010-08-23-01.22.46.493934+480 I8862389A929 LEVEL: Event PID : 303152 TID : 35746 PROC : db2sysc 0 INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE APPHDL : 1-60027 APPID: *N1.DB2.100822171046 AUTHID : DB2INST1 EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 FUNCTION: DB2 UDB, Self tuning memory manager, stmmGetDBMemDataAutomatic, probe:3824 DATA #1 : String, 489 bytes Configured memory on the system: 2621440 Memory currently available on the system: 147239 Configured memory on the partition: 1102245 Memory currently available on the partition: 160917 Set's configured size: 199968 Overflow left: 33072 Uncommited size: 86256 Target consumer size: 4500081190153110 Current consumer size: 166896 Max growth: 0 Current overflow percent: 0.200000 Target overflow percent: 0.000781 Average benefit: 0 Global benefit: Instance: DB2INST1 DB: SAMPLE Benefit: 0 2010-08-23-01.22.46.494730+480 I8863319A631 LEVEL: Warning PID : 303152 TID : 35746 PROC : db2sysc 0 INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE APPHDL : 1-60027 APPID: *N1.DB2.100822171046 AUTHID : DB2INST1 EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 FUNCTION: DB2 UDB, Self tuning memory manager, stmmCheckIfFreeMemoryIsEnoughForSizeIncr, probe:667 MESSAGE : ZRC=0xFFFFEC49=-5047 DATA #1 : String, 143 bytes There is not enough free memory for size increase. Free memory in pages: Physical memory = 0, Instance memory = 160917, Database memory = 33072 2010-08-23-01.22.46.529929+480 I8863951A627 LEVEL: Error PID : 303152 TID : 35746 PROC : db2sysc 0 INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE APPHDL : 1-60027 APPID: *N1.DB2.100822171046 AUTHID : DB2INST1 EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 FUNCTION: DB2 UDB, Self tuning memory manager, stmmUpdateDBConfig, probe:275 MESSAGE : ZRC=0x82AE00A7=-2102525785=STMM_CONFIG_UPDATE_FAILED "An attempted configuration update failed" DATA #1 : String, 79 bytes Error updating parameter Database_memory, updateValue = 208620, sqlcode = -5047 2010-08-23-01.22.46.530322+480 I8864579A664 LEVEL: Event PID : 303152 TID : 35746 PROC : db2sysc 0 INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE APPHDL : 1-60027 APPID: *N1.DB2.100822171046 AUTHID : DB2INST1 EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 FUNCTION: DB2 UDB, Self tuning memory manager, stmmMaintainOverflowSize, probe:4403 DATA #1 : String, 225 bytes Original overflow size: 33072 Target DBMem size: 4503599627361988 Growth limit: 68719276752 Expected DBMem size: 208620 Current DBMem size: 199968 Current consumer size: 166896 Overflow size: 39993 Overflow percent: 0.200000 If you could see that unrealistically big figures for 'Target DBMem size' and 'Target consumer size' are appeared in STMM.x.log, in the example above, they are '4503599627361988' and '4500081190153110' respectively, then it is an indication that this problem applies to your environment. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * STMM incorrectly calculates database memory targets size and * * an overflow happened due to the free memory target being * * greater than database configured memory set when there isn't * * enough free memory in the machine. * * * * * * STMM tries to leave a certain percentage of memory as free * * memory, called the free memory target. When the free memory * * target is bigger than a database memory set while there * * isn't enough free memory in the machine, STMM may * * "incorrectly" decide to shrink the database memory set below * * 0. This leads to an overflow of the target database memory * * set size and the target consumer size those are reported in * * STMM.log * * * * * * Additionally, the error message like "ZRC=0xFFFFEC49=-5047" * * will appear in db2diag.log whenever the free memory in the * * box runs * * out, The error will also disappear on its own when some free * * memory becomes available in the box. * * * * * * * * Here is an example db2diag.log entry : * * * * * * * * 2010-08-23-01.22.46.494522+480 E47256126A631 LEVEL: * * Warning * * PID : 303152 TID : 35746 PROC : * * db2sysc * * 0 * * * * INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE * * APPHDL : 1-60027 APPID: *N1.DB2.100822171046 * * * * AUTHID : DB2INST1 * * * * EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 * * * * FUNCTION: DB2 UDB, Self tuning memory manager, * * * * stmmCheckIfFreeMemoryIsEnoughForSizeIncr, probe:667 * * * * MESSAGE : ZRC=0xFFFFEC49=-5047 * * * * DATA #1 : String, 143 bytes * * * * There is not enough free memory for size increase. Free * * memory * * in pages: Physical memory = 0, Instance memory = 160917, * * * * Database memory = 33072 * * * * * * * * Here is an example stmm.X.log entry: * * * * * * * * 2010-08-23-01.22.46.493934+480 I8862389A929 LEVEL: * * Event * * PID : 303152 TID : 35746 PROC : * * db2sysc * * 0 * * * * INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE * * APPHDL : 1-60027 APPID: *N1.DB2.100822171046 * * * * AUTHID : DB2INST1 * * * * EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 * * * * FUNCTION: DB2 UDB, Self tuning memory manager, * * * * stmmGetDBMemDataAutomatic, probe:3824 * * * * DATA #1 : String, 489 bytes * * * * Configured memory on the system: 2621440 * * * * Memory currently available on the system: 147239 * * * * Configured memory on the partition: 1102245 * * * * Memory currently available on the partition: 160917 * * * * Set's configured size: 199968 * * * * Overflow left: 33072 * * * * Uncommited size: 86256 * * * * Target consumer size: 4500081190153110 * * * * Current consumer size: 166896 * * * * Max growth: 0 * * * * Current overflow percent: 0.200000 * * * * Target overflow percent: 0.000781 * * * * Average benefit: 0 * * * * Global benefit: Instance: DB2INST1 DB: SAMPLE Benefit: 0 * * * * * * * * 2010-08-23-01.22.46.494730+480 I8863319A631 LEVEL: * * Warning * * PID : 303152 TID : 35746 PROC : * * db2sysc * * 0 * * * * INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE * * APPHDL : 1-60027 APPID: *N1.DB2.100822171046 * * * * AUTHID : DB2INST1 * * * * EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 * * * * FUNCTION: DB2 UDB, Self tuning memory manager, * * * * stmmCheckIfFreeMemoryIsEnoughForSizeIncr, probe:667 * * * * MESSAGE : ZRC=0xFFFFEC49=-5047 * * * * DATA #1 : String, 143 bytes * * * * There is not enough free memory for size increase. Free * * memory * * in pages: Physical memory = 0, Instance memory = 160917, * * * * Database memory = 33072 * * * * * * * * 2010-08-23-01.22.46.529929+480 I8863951A627 LEVEL: * * Error * * PID : 303152 TID : 35746 PROC : * * db2sysc * * 0 * * * * INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE * * APPHDL : 1-60027 APPID: *N1.DB2.100822171046 * * * * AUTHID : DB2INST1 * * * * EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 * * * * FUNCTION: DB2 UDB, Self tuning memory manager, * * * * stmmUpdateDBConfig, probe:275 * * * * MESSAGE : * * ZRC=0x82AE00A7=-2102525785=STMM_CONFIG_UPDATE_FAILED * * "An attempted configuration update failed" * * * * DATA #1 : String, 79 bytes * * * * Error updating parameter Database_memory, updateValue = * * 208620, * * sqlcode = -5047 * * * * * * * * 2010-08-23-01.22.46.530322+480 I8864579A664 LEVEL: * * Event * * PID : 303152 TID : 35746 PROC : * * db2sysc * * 0 * * * * INSTANCE: DB2INST1 NODE : 000 DB : SAMPLE * * APPHDL : 1-60027 APPID: *N1.DB2.100822171046 * * * * AUTHID : DB2INST1 * * * * EDUID : 35746 EDUNAME: db2stmm (SAMPLE) 0 * * * * FUNCTION: DB2 UDB, Self tuning memory manager, * * * * stmmMaintainOverflowSize, probe:4403 * * * * DATA #1 : String, 225 bytes * * * * Original overflow size: 33072 * * * * Target DBMem size: 4503599627361988 * * * * Growth limit: 68719276752 * * * * Expected DBMem size: 208620 * * * * Current DBMem size: 199968 * * * * Current consumer size: 166896 * * * * Overflow size: 39993 * * * * Overflow percent: 0.200000 * * * * * * * * If you could see that unrealistically big figures for * * 'Target DBMem size' and 'Target consumer size' are appeared * * in STMM.x.log, in the example above, they are * * '4503599627361988' and '4500081190153110' respectively, then * * it is an indication that this problem applies to your * * environment. * **************************************************************** * RECOMMENDATION: * * Upgrade to v9.5FP8 * **************************************************************** | |
Local Fix: | |
N/A | |
available fix packs: | |
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows | |
Solution | |
An overflow of the target database memory set size and the target consumer size would not occur | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC74557 IC74558 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 27.09.2010 01.03.2011 02.05.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.5.FP8 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.5.0.8 |