DB2記憶體

fjzcau發表於2015-03-28
INSTANCE_MEMORY 例項記憶體
DATABASE_MEMORY 資料庫記憶體
APPL_MEMORY  應用程式記憶體

DB2 中主要有三種記憶體結構:
     例項共享記憶體:這是資料庫管理器全域性共享記憶體,是在使用 db2start 命令啟動例項時分配給例項的,
                    並且在發出 db2stop 命令停止例項之前一直處於已分配狀態。
     資料庫共享記憶體:這是資料庫全域性記憶體,是在啟用資料庫或者第一次連線到資料庫時分配的。
                    分配的記憶體包括緩衝區池、鎖列表、資料庫堆、實用程式堆、包快取和編目快取。
     應用程式共享記憶體:這是在應用程式連線到資料庫時分配的記憶體,由處理連線到資料庫的客戶機所請求的工作的代理使用。
                    每個連線到資料庫的應用程式都會被分配記憶體;因此,正確地配置會影響應用程式共享記憶體的引數非常重要。

SELF_TUNING_MEM 自動記憶體管理  STMM

BUFFERPOOL
LOCKLIST
SORTHEAP
PACKCACHESZ

-----------------------------------
DB2 使用多少記憶體?

下面是檢視記憶體使用情況的一些方法:
    db2pd -dbptnmem
    使用 db2 get 按樣獲得應用程式快照  db2 get snapshot for applications on sample
    select * from table(admin_get_dbp_mem_usage())
    db2mtrk -a 和 db2mtrk -p
注意以下資訊:
    db2pd 顯示共享記憶體分級結構的準確表示
    db2pd 仍不能報告私有記憶體的分配情況
    db2mtrk 可以報告私有記憶體的分配情況,但在其他方面比較弱
    私有記憶體的使用情況不再那麼值得關心
    db2pd -dbpntmem 高階報告可能已經足夠

db2 get dbm cfg show detail|grep INSTANCE_MEMORY


對於一個 DB2 Express 許可,INSTANCE_MEMORY 的上限被進一步限制為至多 4GB 記憶體(1,048,576 * 4KB 頁)。
DB2 Workgroup 許可被限制為至多 16GB 記憶體(4,194,304 * 4KB 頁)。
如果嘗試將 INSTANCE_MEMORY 配置引數更新為大於這些限制的值,那麼會遭到失敗,並收到 SQL5130N 返回碼,指定該許可允許的限制範圍。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1477186/,如需轉載,請註明出處,否則將追究法律責任。

相關文章