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 |
|