数据库管理员
·哈尔滨银行
DB2内存浅谈(1)
字数 13135阅读 3850评论 5赞 0
DB2的内存架构感觉比较乱,而且除了文档没有一个直观的认识,这里简单的分析下
$ db2start
11/09/2011 21:41:34 0 0 SQL1026N The database manager is already active.
SQL1026N The database manager is already active.
首先启动实例,这里看到
$ ps avx | head -1 ;ps avx |grep db2
PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND
225444 - A 0:00 0 288 364 32768 56 88 0.0 0.0 db2ckpwd
266286 pts/0 A 0:00 0 216 252 32768 26 36 0.0 0.0 grep db2
295120 - A 0:00 0 496 572 32768 56 88 0.0 0.0 db2wdog
307378 - A 0:00 0 296 364 32768 56 88 0.0 0.0 db2ckpwd
315562 - A 0:00 0 292 364 32768 56 88 0.0 0.0 db2ckpwd
323766 - A 0:00 0 2256 2300 32768 12 44 0.0 0.0 db2vend
331960 - A 0:00 62 6444 6512 32768 56 88 0.0 1.0 db2sysc
356528 - A 0:00 66 6996 7040 32768 12 44 0.0 1.0 db2acd 0
$ db2mtrk -i
Tracking Memory on: 2011/11/09 at 21:57:01
Memory for instance
other fcmbp monh
10.3M 832.0K 64.0K
$ db2pd -memset
Database Partition 0 -- Active -- Up 0 days 00:24:09 -- Date 11/09/2011 21:57:53
Memory Sets:
Name Address Id Size(Kb) Key DBP Type Unrsv(Kb) Used(Kb) HWM(Kb) Cmt(Kb) Uncmt(Kb)
DBMS 0x0780000000000000 1048582 49920 0x50151D61 0 0 10240 11520 11520 11520 38400
FMP 0x0780000010000000 1048583 22592 0x0 0 0 2 0 192 22592 0
Trace 0x0770000000000000 1048581 137576 0x50151D74 0 -1 0 137576 0 137576 0
$ db2pd -dbptnmem
Database Partition 0 -- Active -- Up 0 days 00:24:20 -- Date 11/09/2011 21:58:04
Database Partition Memory Controller Statistics
Controller Automatic: Y
Memory Limit: 1598364 KB
Current usage: 75648 KB
HWM usage: 75776 KB
Cached memory: 11648 KB
Individual Memory Consumers:
Name Mem Used (KB) HWM Used (KB) Cached (KB)
========================================================
DBMS-db2inst1 49920 49920 10240
FMP_RESOURCES 22528 22528 0
PRIVATE 3200 3200 1408
抓了这些数据之后,问题出现了,每一项之间都对不上db2pd -dbptnmem和db2pd -memset感觉最接近,而从ps出的命令及db2mtrk -i感觉和前俩个差了很多。
这次用db2pd -mempool看下db2pd -memset的细节
Memory Pools:
Address MemSet PoolName Id Overhead LogSz LogUpBnd LogHWM PhySz PhyUpBnd PhyHWM Bnd BlkCnt CfgParm
0x07800000000012A8 DBMS fcm 74 0 0 1931054 0 0 1966080 0 Ovf 0 n/a
0x0780000000001160 DBMS fcmsess 77 65376 1401568 1687552 1401568 1572864 1703936 1572864 Ovf 3 n/a
0x0780000000001018 DBMS fcmchan 79 65376 259584 507904 259584 393216 524288 393216 Ovf 3 n/a
0x0780000000000ED0 DBMS fcmbp 13 65376 656896 925696 656896 851968 983040 851968 Ovf 3 n/a
0x0780000000000D88 DBMS fcmctl 73 111872 1594189 8675456 1594189 1769472 8716288 1769472 Ovf 11 n/a
0x0780000000000C40 DBMS monh 11 0 0 368640 224 65536 393216 65536 Ovf 0 MON_HEAP_SZ
0x0780000000000AF8 DBMS resynch 62 41216 155320 2752512 155320 262144 2752512 262144 Ovf 2 n/a
0x07800000000009B0 DBMS apmh 70 4512 737036 7929856 737036 786432 7929856 786432 Ovf 13 n/a
0x0780000000000868 DBMS kerh 52 96 196520 4128768 196520 262144 4128768 262144 Ovf 27 n/a
0x0780000000000720 DBMS bsuh 71 0 38408 15138816 74803 131072 15138816 131072 Ovf 12 n/a
0x07800000000005D8 DBMS sqlch 50 0 2683025 2752512 2683025 2752512 2752512 2752512 Ovf 203 n/a
0x0780000000000490 DBMS krcbh 69 0 146088 131072 146176 196608 131072 196608 Ovf 10 n/a
0x0780000000000348 DBMS eduah 72 65440 2621384 2621408 2621384 2686976 2621440 2686976 Ovf 1 n/a
0x0780000010000348 FMP undefh 59 8000 122900 22971520 122900 131072 23003136 131072 Phy 1 n/a
有点长,这里可以发现db2mtrk -i 中的mon对应的其实就是
0x0780000000000C40 DBMS monh 11 0 0
368640 224 65536 393216 65536 Ovf 0
MON_HEAP_SZ
也就是
MON_HEAP_SZ参数,而fcm对应的是
0x0780000000000ED0 DBMS fcmbp 13 65376 656896
925696 656896 851968 983040 851968 Ovf 3
n/a
把db2pd -mempool所有值除去刚才提到的俩个及fmp其实就是db2mtrk -i中other的值,这样二者就对应起来了。
(未完待续)
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论5 条评论
2011-11-23 16:19
2011-11-23 12:20
2011-11-22 17:36
2011-11-22 07:32
2011-11-10 15:11