DB2内存使用疑问

关于DB2实际使用的内存,DB2 800的工程师说,下面的AUTOMATIC后挂号中的数值,在库被active的时候,这样大小的内存就被分配给DB2了

db2 get db cfg for xxdb show detail | grep -i database_memroy   AUTOMATIC(xxxxxx)     AUTOMATIC(xxxxx)

我观察这个值跟db2pd -dbptnmem输出的Current usage值相同;且db2pd -db xxdb   -mems中,Size的值与上述值接近相同,

但db2pd -db xxdb -mems输出中Used值与上述值却可能相差很大,Used值与从db2mtrk -i -d -v来看该库使用的Total内存值近乎相同;从db2top ... m所看到该数据库当前使用的值也近乎相同。

那么问题来了

db2pd -db xxdb  -mems输出中的,Cmt和Uncmt到底怎么解释?

还有人告诉我说,AUTOMATIC后挂号的值是DB2向操作系统申请的值,而非实际分配的值,那么到底,DB2用了多少内存? 有多少内存是可以分配给其他应用使用的
参与16

11同行回答

mdkiimdkii软件开发工程师bocn
官方的文档里是这么说的:Cmt(Kb)All memory that has been committed by the DB2 database, and occupies physical RAM, paging space, or both.Uncmt(Kb)Memory not currently being used, and marked by the DB2 database to be uncommitted. Depending on the operati...显示全部
官方的文档里是这么说的:
Cmt(Kb)
All memory that has been committed by the DB2 database, and occupies physical RAM, paging space, or both.
Uncmt(Kb)
Memory not currently being used, and marked by the DB2 database to be uncommitted. Depending on the operating system, this memory could occupy physical RAM, paging space, or both

commit就是说这块内存操作系统已经分配给DB2了。uncmt就是说DB2申请了,但是操作系统不一定分配了,依赖于操作系统的实现。

内存分配这块是比较复杂的,尤其是操作系统的内存分配机制,操作系统给一个应用比如DB2分配了内存,并不一定意味着一定有physical memory去backup了。所以不能把DB2 监控里看到的使用内存完全跟操作系统对等起来。收起
银行 · 2015-02-04
浏览1100
mdkiimdkii软件开发工程师bocn
如果操作系统没分配的话,说明这块内存没有被预留。其他人要就给其他人用了。在AIX下,可以用svmon跟db2pd 去看一下内存分配情况。以下是我观察的结果(我去掉了无关数据):db2pd -dbp 1 -d   -memsetName         Address   ...显示全部
如果操作系统没分配的话,说明这块内存没有被预留。其他人要就给其他人用了。
在AIX下,可以用svmon跟db2pd 去看一下内存分配情况。以下是我观察的结果(我去掉了无关数据):
db2pd -dbp 1 -d   -memset
Name         Address            Id          Size(Kb)    Used(Kb)   HWM(Kb)    Cmt(Kb)    Uncmt(Kb)  CmtRt(Kb)  DcmtRt(Kb)
AppCtl       0x0A00010000000000 6291473     31104       23168      65664      31104      0          5632       29120     
  Seg0       0x0A000100A0000000 256901204   0           0          0          0          0          0          0      
找到db2sys 进程号,同时 执行
svmon -P 23724054 -O unit=KB,segment=category,filtercat=shared
  Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual
  a014a0  a0001003 work N/A                          m 262144     0    0  262144
  931493  a0001001 work N/A                          m 262144     0    0  262144
  9e149e  a0001002 work N/A                          m 262144     0    0  262144
  bf133f  78000003 work default shmat/mmap           m 242112     0    0  242112
  9914d9  a0001005 work N/A                          m 241792     0    0  241792
  9d129d  a0001004 work N/A                          m 241216     0    0  241216
  90a710  a0001007 work N/A                          m 218368     0    0  218368
  9fab1f  a0001008 work N/A                          m 174720     0    0  174720
  970017  90000000 work shared library text          m 160000     0 1344  181952
  881488  78000002 work default shmat/mmap           m 159616     0 2752  160896
  abebab  a0001009 work N/A                          m 147328     0    0  147328
  8e150e  78000000 work default shmat/mmap           m  67968     0 1216   69184
  85a405  a0001006 work N/A                          m  41728     0    0   41728
  a28d23  a000100a work N/A                          m  15680     0    0   15680
  b511f5  a0001000 work N/A                          m  15424     0    0   15424
  aa146a  90000001 work shared library text          m  11200     0    0   11840
  990019  90020014 work shared library               s   3544     0   32    3548
  9116d1  78000001 work default shmat/mmap           m    768     0    0     768
拿db2pd 的 address 列与 esid列去匹配可以看到
db2pd 的结果 cmt = 31104。
对应两个共享段
a28d23  a000100a work N/A                          m  15680     0    0   15680
  b511f5  a0001000 work N/A                          m  15424     0    0   15424
把virtual列的和 15680 + 15424 = 31104
所以说在AIX上,操作系统只分配了 cmt的内存,对于uncmt的内存,操作系统没有分配,也不存在给DB2预留内存的概念。收起
银行 · 2015-04-03
浏览1727
mdkiimdkii软件开发工程师bocn
uncmt的意思是说DB2已经申请了,但是有可能操作系统还没有分配。举个例子,DB2好比项目经理,OS好比部门经理。DB2在做项目时发现要20个人,但是目前开发只要8个人。但他跟项目经理说好要20个人,但暂时只用8个。8个人就是committed,12个就是uncommitted,作为OS来讲,根据人的不同性格,...显示全部
uncmt的意思是说DB2已经申请了,但是有可能操作系统还没有分配。
举个例子,DB2好比项目经理,OS好比部门经理。DB2在做项目时发现要20个人,但是目前开发只要8个人。
但他跟项目经理说好要20个人,但暂时只用8个。8个人就是committed,12个就是uncommitted,作为OS来讲,根据人的不同性格,大方的就一次给招了20个,8个给DB2,12个也预留着,到时候DB2要了就给他。有些小气的部门经理就先招8个,12个等DB2要的时候再招。收起
银行 · 2015-04-02
浏览1731
infosphereinfosphere软件实施顾问keyvalues
回复 11# mdkii 谢谢如此详尽的指导!显示全部
回复 11# mdkii

谢谢如此详尽的指导!收起
IT咨询服务 · 2015-10-06
浏览1612
infosphereinfosphere软件实施顾问keyvalues
回复 9# mdkii 重点是,如果这时候其他应用程序申请很多内存资源,系统会不会将本来计划预留给DB2的这部分内存分配给其他应用程序使用?显示全部
回复 9# mdkii

重点是,如果这时候其他应用程序申请很多内存资源,系统会不会将本来计划预留给DB2的这部分内存分配给其他应用程序使用?收起
IT咨询服务 · 2015-04-02
浏览1771
infosphereinfosphere软件实施顾问keyvalues
回复 2# mdkii Uncmt的部分not currently being used, and marked by the DB2,且是could occupy...    那就是说需要的话可以被操作系统分配给其他程序使用?显示全部
回复 2# mdkii


Uncmt的部分not currently being used, and marked by the DB2,且是could occupy...    那就是说需要的话可以被操作系统分配给其他程序使用?收起
IT咨询服务 · 2015-04-01
浏览1738
infosphereinfosphere软件实施顾问keyvalues
回复 6# drdb2 谢谢。只是觉得官方的说法太模糊显示全部
回复 6# drdb2


谢谢。

只是觉得官方的说法太模糊收起
IT咨询服务 · 2015-04-01
浏览1715
drdb2drdb2系统工程师se
回复 3# infosphere http://www.db2china.net/club/pos ... tra=page%3D1&page=1    AUTOMATIC    ... If a value is specified along with the AUTOMATIC keyword, it might influence the automatic calculations. ...在括号里值只是一个 initial...显示全部
回复 3# infosphere

http://www.db2china.net/club/pos ... tra=page%3D1&page=1

    AUTOMATIC
    ... If a value is specified along with the AUTOMATIC keyword, it might influence the automatic calculations. ...

在括号里值只是一个 initial reference value to DB2,  it might influence the automatic calculations收起
互联网服务 · 2015-03-31
浏览1773
infosphereinfosphere软件实施顾问keyvalues
没有人解释这个问题么?显示全部
没有人解释这个问题么?收起
IT咨询服务 · 2015-03-30
浏览1715
infosphereinfosphere软件实施顾问keyvalues
AUTOMATIC后挂号的值是DB2向操作系统申请的值,而非实际分配的值这句才是对的。只是申请了,但是并没有实 ...vincenthuang 发表于 2015-2-5 09:26     “这句才是对的”,这个有官方出处么? 关于Cmt和Uncmt,信息中心上的英文和中文都认识,就是不理解到底讲的什么意思...显示全部
AUTOMATIC后挂号的值是DB2向操作系统申请的值,而非实际分配的值

这句才是对的。只是申请了,但是并没有实 ...
vincenthuang 发表于 2015-2-5 09:26



    “这句才是对的”,这个有官方出处么? 关于Cmt和Uncmt,信息中心上的英文和中文都认识,就是不理解到底讲的什么意思才来这找答案的收起
IT咨询服务 · 2015-02-12
浏览1834

提问者

infosphere
软件实施顾问keyvalues

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-02-04
  • 关注会员:1 人
  • 问题浏览:16038
  • 最近回答:2015-10-06
  • X社区推广