當(dāng)我們對db2進(jìn)行監(jiān)控檢查的時(shí)候,經(jīng)常需要知道db2當(dāng)前的內(nèi)存使用情況。而db2mtrk工具就是一個(gè)查看當(dāng)前內(nèi)存使用情況的非常合適的工具。
db2mtrk的命令語法:(unix,linux,window平臺之間可能有稍許差異,大家可以自行嘗試)
=>db2mtrk
#顯示此命令的詳細(xì)語法
Usage: db2mtrk -i | -d | -p [-m | -w] [-v] [-r interval [count]] [-h] #詳細(xì)語法
=>db2mtrk -i #顯示當(dāng)前實(shí)例的內(nèi)存使用情況
=>db2mtrk -i -v #顯示當(dāng)前實(shí)例的內(nèi)存使用的詳細(xì)信息
=>db2mtrk -d #顯示數(shù)據(jù)庫的內(nèi)存使用情況
=>db2mtrk -d -v #顯示數(shù)據(jù)庫的內(nèi)存使用情況的詳細(xì)信息
=>db2mtrk -p #顯示代理進(jìn)程專用內(nèi)存使用率
=>db2mtrk -h #顯示幫助信息
-m 參數(shù)選項(xiàng)是顯示最大的內(nèi)存使用上線
-w 參數(shù)選項(xiàng)是顯示使用過程中內(nèi)存達(dá)到的最大值,既watermark
-r 參數(shù)選項(xiàng)是重復(fù)顯示 interval是重復(fù)顯示的時(shí)間間隔數(shù) count是要重復(fù)顯示的次數(shù)
db2mtrk和get dbm cfg看到的實(shí)例共享內(nèi)存怎么差別那么多?
D:\Program Files\IBM\SQLLIB\BIN>db2mtrk -i -v
跟蹤位于 20:37:59 的 2006/05/06 的內(nèi)存
實(shí)例的內(nèi)存
Backup/Restore/Util Heap 的大小為 16384 個(gè)字節(jié)
Package Cache 的大小為 131072 個(gè)字節(jié)
Catalog Cache Heap 的大小為 65536 個(gè)字節(jié)
Buffer Pool Heap 的大小為 286572544 個(gè)字節(jié)
Buffer Pool Heap 的大小為 655360 個(gè)字節(jié)
Buffer Pool Heap 的大小為 393216 個(gè)字節(jié)
Buffer Pool Heap 的大小為 262144 個(gè)字節(jié)
Buffer Pool Heap 的大小為 196608 個(gè)字節(jié)
Lock Manager Heap 的大小為 311296 個(gè)字節(jié)
Database Heap 的大小為 4145152 個(gè)字節(jié)
Database Monitor Heap 的大小為 180224 個(gè)字節(jié)
Other Memory 的大小為 7897088 個(gè)字節(jié)
總計(jì):300826624 個(gè)字節(jié)
D:\Program Files\IBM\SQLLIB\BIN>db2 get dbm cfg show detail |find "INSTANCE_MEMORY"
實(shí)例共享內(nèi)存(4KB)的大小 (INSTANCE_MEMORY) = AUTOMATIC(6504) AUTOMATIC(6504)
D:\Program Files\IBM\SQLLIB\BIN>
一個(gè)是300M,一個(gè)是26M。是不是哪里設(shè)置的有問題?
instance_memory is only specify the instance shared memory segment.
db2mtrk -i -v shows all memory used for your instance, include instance shared memory segment (mon_heap, audit_buf_sz and FCM), database shared memory segment (bufferpool, locklist, dbheap, pckcache, util_heap, catalogcache are definitly in db shared memory)