测试环境服务器内存较高,已达到90%以上,此时并无session连接,svmon查看数据库进程所占用内存较高,db2pd -dbptnmem通过查看如下所示:
Name Mem Used (KB) HWM Used (KB) Cached (KB)
========================================================
APPL-CHGMTST2 160000 160000 140736
APPL-CHGMTST1 160000 160000 148928
DBMS-db2chgmu 1696000 1696000 1472192
FMP_RESOURCES 22528 22528 0
PRIVATE 4439168 22017408 4237760
DB-CHGMTST1 5811776 6106240 1064128
DB-CHGMTST2 5612160 5612160 934208
LCL-p189366 128 128 0
LCL-p197268 128 128 0
LCL-p242066 128 128 0
LCL-p242066 128 128 0
LCL-p147680 128 128 0
dbm中SHEAPTHRES参数为零,数据库级别主要是bufferpool占用较多内存,其中PRIVATE和实例级别个占用 4439168K、1696000。
查看PRIVATE中各个私有部分所占用的内存大小,在9.7一下版本中没有什么好方法,在9.7中新增表函数,可以监控私有内存。
本地测试机上测试(原环境已不在)。
[db2inst1@localhost ~]$ db2 "select char(MEMORY_SET_TYPE,15),char(MEMORY_POOL_TYPE,18),APPLICATION_HANDLE,EDU_ID,MEMORY_POOL_USED,MEMORY_POOL_USED_HWM from table(MON_GET_MEMORY_POOL(NULL, CURRENT_SERVER, -2))"
1 2 APPLICATION_HANDLE EDU_ID MEMORY_POOL_USED MEMORY_POOL_USED_HWM
--------------- ------------------ -------------------- -------------------- -------------------- --------------------
DBMS FCM_LOCAL - - 0 0
DBMS FCM_SESSION - - 1572864 1572864
DBMS FCM_CHANNEL - - 393216 393216
DBMS FCMBP - - 851968 851968
DBMS FCM_CONTROL - - 1703936 1703936
DBMS MONITOR - - 327680 327680
DBMS RESYNC - - 262144 262144
DBMS APM - - 1114112 1114112
DBMS KERNEL - - 720896 720896
DBMS BSU - - 2949120 3014656
DBMS SQL_COMPILER - - 2686976 2686976
DBMS KERNEL_CONTROL - - 196608 196608
DBMS EDU - - 4653056 4653056
FMP MISC - - 393216 393216
PRIVATE PRIVATE - 38 196608 196608
PRIVATE PRIVATE - 24 0 2228224
PRIVATE PRIVATE - 39 196608 196608
PRIVATE PRIVATE - 37 196608 196608
PRIVATE PRIVATE - 36 196608 196608
PRIVATE PRIVATE - 35 196608 196608
PRIVATE PRIVATE - 34 196608 196608
PRIVATE PRIVATE - 33 196608 196608
PRIVATE PRIVATE - 32 196608 196608
PRIVATE PRIVATE - 31 327680 327680
PRIVATE PRIVATE - 30 262144 262144
PRIVATE PRIVATE - 29 262144 262144
PRIVATE PRIVATE - 28 262144 262144
PRIVATE PRIVATE - 27 65536 65536
PRIVATE PRIVATE - 26 65536 65536
PRIVATE PRIVATE - 23 393216 393216
PRIVATE PRIVATE - 20 393216 589824
PRIVATE PRIVATE - 18 0 65536
PRIVATE PRIVATE - 17 0 0
PRIVATE PRIVATE - 14 65536 65536
PRIVATE PRIVATE - 13 65536 65536
PRIVATE PRIVATE - 0 65536 65536
PRIVATE USER_DATA - 0 393216 393216
PRIVATE PERSISTENT_PRIVATE - 0 4718592 4718592
DATABASE UTILITY - - 65536 65536
DATABASE PACKAGE_CACHE - - 1114112 1114112
DATABASE XMLCACHE - - 196608 196608
DATABASE CAT_CACHE - - 393216 393216
DATABASE BP - - 4521984 4521984
DATABASE BP - - 851968 851968
DATABASE BP - - 589824 589824
DATABASE BP - - 458752 458752
DATABASE BP - - 393216 393216
DATABASE SHARED_SORT - - 0 131072
DATABASE LOCK_MGR - - 17629184 17629184
DATABASE DATABASE - - 19791872 19791872
APPLICATION APPLICATION 14 - 65536 65536
APPLICATION APPLICATION 13 - 65536 65536
APPLICATION APPLICATION 12 - 65536 65536
APPLICATION APPLICATION 11 - 196608 196608
APPLICATION APPLICATION 10 - 65536 65536
APPLICATION APPLICATION 9 - 65536 65536
APPLICATION APPLICATION 8 - 65536 65536
APPLICATION APPLICATION 7 - 131072 131072
APPLICATION APPL_SHARED - - 524288 524288
59 record(s) selected.
通过EDU_ID查看哪些线程占用私有内存。对问题的分析有一定帮助。
[db2inst1@localhost ~]$ db2pd -edus
Database Partition 0 -- Active -- Up 0 days 00:55:32 -- Date 2013-11-22-16.39.39.688159
List of all EDUs for database partition 0
db2sysc PID: 30557
db2wdog PID: 30555
db2acd PID: 30574
EDU ID TID Kernel TID EDU Name USR (s) SYS (s)
========================================================================================================================================
39 13988640115276830992 db2agntdp (SAMPLE ) 0 0.050000 0.040000
38 13988640534707230991 db2agntdp (SAMPLE ) 0 0.280000 0.480000
37 13988640954137630617 db2evmgi (DB2DETAILDEADLOCK) 0 0.010000 0.000000
36 13988641373568030614 db2fw1 (SAMPLE) 0 0.000000 0.000000
35 13988641792998430613 db2fw0 (SAMPLE) 0 0.010000 0.040000
34 13988642212428830611 db2lused (SAMPLE) 0 0.530000 1.160000
33 13988642631859230606 db2wlmd (SAMPLE) 0 0.000000 0.030000
32 13988643051289630605 db2taskd (SAMPLE) 0 0.450000 0.910000
31 13988643470720030604 db2stmm (SAMPLE) 0 0.520000 0.870000
30 13988643890150430603 db2pfchr (SAMPLE) 0 0.000000 0.000000
29 13988644309580830602 db2pfchr (SAMPLE) 0 0.000000 0.000000
28 13988644729011230601 db2pfchr (SAMPLE) 0 0.000000 0.000000
27 13988645148441630600 db2pclnr (SAMPLE) 0 0.000000 0.000000
26 13988645567872030599 db2dlock (SAMPLE) 0 0.030000 0.010000
25 13988645987302430598 db2lfr (SAMPLE) 0 0.000000 0.000000
24 13988646406732830597 db2loggw (SAMPLE) 0 0.080000 0.230000
23 13988646826163230596 db2loggr (SAMPLE) 0 0.020000 3.310000
22 13988647245593630595 db2logmgr (SAMPLE) 0 0.000000 0.220000
21 13988647665024030594 db2logts (SAMPLE) 0 0.000000 0.000000
20 13988648084454430593 db2agent (SAMPLE) 0 0.390000 8.820000
19 13988648503884830572 db2spmlw 0 0.000000 0.000000
18 13988648923315230571 db2spmrsy 0 0.000000 0.010000
17 13988649342745630570 db2resync 0 0.000000 0.000000
16 13988649762176030568 db2tcpcm 0 0.000000 0.000000
15 13988650181606430567 db2tcpcm 0 0.000000 0.000000
14 13988650601036830566 db2ipccm 0 0.010000 0.030000
13 13988651020467230565 db2licc 0 0.000000 0.000000
12 13988651439897630563 db2thcln 0 0.000000 0.000000
11 13988651859328030562 db2alarm 0 0.010000 0.650000
1 13988625854643230561 db2sysc 0 0.440000 0.670000
通过EDU ID对应的EDU Name发现都是后台线程,从而可以得知哪些EDU占用内存较高。
添加新评论9 条评论
2014-01-20 09:50
2014-01-20 09:46
个人理解,若有不准确的地方,还帮忙纠正一下啊,哈。
2014-01-20 09:20
2014-01-19 08:40
2014-01-18 21:29
2014-01-18 11:40
2014-01-09 09:59
2014-01-09 08:57
2014-01-08 23:19