今天发现数据库出现了内存泄漏,主要的表现是:
1.数据库内存集远远大于与其关联的内存池所有物理大小只和。
2.数据库内存池的逻辑大小远远大于所有内存块的大小之和。
后台db2diag.log日志查看发现如下出错信息:
2012-08-26-06.33.56.066029+480 E1356903221E738 LEVEL: Warning
PID : 8528 TID : 47797462100288PROC : db2sysc 0
INSTANCE: db2admin NODE : 000 DB : RMIS_XQ
APPHDL : 0-30 APPID: *LOCAL.DB2.120825064432
AUTHID : DB2ADMIN
EDUID : 20 EDUNAME: db2stmm (RMIS_XQ) 0
FUNCTION: DB2 UDB, Self tuning memory manager, stmmDecreaseDBMemOriginatedBySTMM, probe:1606
MESSAGE : ZRC=0x02AE00A5=44957861=STMM_DBMEM_COULD_NOT_BE_DECREASED
"The DATABASE_MEMORY parameter could not be decreased"
DATA #1 : String, 141 bytes
Overflow memory decrease amount exceeds overflow size. DATABASE_MEMORY decrease failed. Decrease amount: 718389248, overflow size: 560332800
2012-08-27-11.05.46.482865+480 E1357478280E649 LEVEL: Warning
PID : 8528 TID : 47797462100288PROC : db2sysc 0
INSTANCE: db2admin NODE : 000 DB : RMIS_XQ
APPHDL : 0-30 APPID: *LOCAL.DB2.120825064432
AUTHID : DB2ADMIN
EDUID : 20 EDUNAME: db2stmm (RMIS_XQ) 0
FUNCTION: DB2 UDB, Self tuning memory manager, stmmCheckIfFreeMemoryIsEnoughForSizeIncr, probe:663
MESSAGE : ZRC=0xFFFFEC49=-5047
DATA #1 : String, 148 bytes
There is not enough free memory for size increase. Free memory in pages: Physical memory = 12542, Instance memory = 359920, Database memory = 226240
2012-08-27-11.05.46.484224+480 I1357478930E639 LEVEL: Error
PID : 8528 TID : 47797462100288PROC : db2sysc 0
INSTANCE: db2admin NODE : 000 DB : RMIS_XQ
APPHDL : 0-30 APPID: *LOCAL.DB2.120825064432
AUTHID : DB2ADMIN
EDUID : 20 EDUNAME: db2stmm (RMIS_XQ) 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, 78 bytes
Error updating parameter Sheapthres_shr, updateValue = 113508, sqlcode = -5047
2012-08-27-11.05.46.620546+480 I1357479570E560 LEVEL: Event
PID : 8528 TID : 47797462100288PROC : db2sysc 0
INSTANCE: db2admin NODE : 000 DB : RMIS_XQ
APPHDL : 0-30 APPID: *LOCAL.DB2.120825064432
AUTHID : DB2ADMIN
EDUID : 20 EDUNAME: db2stmm (RMIS_XQ) 0
FUNCTION: DB2 UDB, access plan manager, sqlra_resize_pckcache, probe:150
CHANGE : APM : Package Cache : FROM "95001272" : TO "100976844" : success
IMPACT : None
DATA #1 : String, 29 bytes
Package Cache Resized (bytes)
2012-08-27-11.05.47.290114+480 I1357480131E503 LEVEL: Event
PID : 8528 TID : 47797462100288PROC : db2sysc 0
INSTANCE: db2admin NODE : 000 DB : RMIS_XQ
APPHDL : 0-30 APPID: *LOCAL.DB2.120825064432
AUTHID : DB2ADMIN
EDUID : 20 EDUNAME: db2stmm (RMIS_XQ) 0
FUNCTION: DB2 UDB, config/install, sqlfLogUpdateCfgParam, probe:20
CHANGE : STMM CFG DB RMIS_XQ: "Pckcachesz" From: "23911"
To: "25415"
对出出错信息:Overflow memory decrease amount exceeds overflow size. DATABASE_MEMORY decrease failed. 不甚理解,希望得到指教,同时请教如何寻找内存泄漏的原因。收起