阅 读 文 章

关于DB2的内存分配

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(nic518) | 时间:2007-05-27 | 浏览:人次 ]



例 3 考虑如下配置: (所有页的大小都是 4K) 
服务器: 

服务器上的物理 RAM 16GB 
shmsys:shminfo_shmmax = 15099494 (16GB 的 ~90%)
数据库: 

IBMDEFAULTBP 350,000 页 
UTILHEAP 17,500 页 
DBHEAP 10,000 页 
LOCKLIST 1000 页 
PCKCACHE 5000 页 
CATALOGCACHE 2500 页 
ESTORE_SEG_SZ = 400000 页 
NUM_ESTORE_SEGS = 1
计算: 

数据库共享内存 = (386,000 页 x 4KB/页 + 400,000 页的 estore * 100 字节) x 1.1 = ~1.66GB 
ESTORE memory = 400000 x 4KB = 1.6GB
问题: 数据库共享内存是 1.66GB。这个数小于 3.35GB 的数据库共享内存限制。shmmax 参数设置得比较恰当。但是在启动数据库时可能返回下面的错误消息!您可以在 db2diag.log 中看到如下错误消息: 

2003-12-04-10.10.13.362027 Instance:db2inst1 Node:000 
PID:18327(db2agent (SAMPLE) 0) TID:1 Appid:*LOCAL.sample.047844091013 
oper system services sqloVLMAttachVLMSegment Probe:20 Database:SAMPLE 
sqloVLMAttachVLMSegment - shmat failed 
0xFFBE833C : 0x0000000C
shmat 是一个 UNIX 函数,它将与 shmid(另一个 Solaris 函数)所标识的共享内存相关的共享内存段附加到调用进程的数据段上。shmat 失败于 0x000000C,即 ENOMEM 或可用数据空间不足以容纳共享内存段。

换句话说,不能激活数据库或连接到数据库,因为没有足够的共享内存来满足请求。

那么该怎么办呢?答案在于我们分配 ESTORE 的方式。每个 ESTORE 段必须是一个连续的块。在我们的例子中,我们试图为 ESTORE 分配很大的一块(连续的)内存(1.6GB)。即使有 16GB 的 RAM,它也可能会被分段,从而没有一块连续的 1.6GB 的内存。

为解决这个问题,在数据库配置文件中像下面这样设置 ESTORE 的值: 

ESTORE_SEG_SZ = 40000 页 
NUM_ESTORE_SEGS = 10
通过设置上面的 ESTORE 值,实际上我们仍然试图为 ESTORE 分配总共 1.6 GB 的内存。然而,我们将尝试为 ESTORE 分配 10 块 160MB 的内存。这样分配的连续空间就要小得多,因此最有可能解决问题。


 johndoe 回复于:2007-01-02 22:20:43

内存说明的好文.顶


 action929 回复于:2007-01-04 21:56:58

好文章啊,虽然后面的看不太懂


 zhong0912 回复于:2007-01-09 11:20:32

ibm网站上的文章,很多很多
redbook写的还可以的


 971726 回复于:2007-01-10 14:59:15

收藏之,回家再拜读!


 Jens 回复于:2007-01-18 12:03:31

好文,正需要。


 x521 回复于:2007-01-18 18:13:26

收下了。回家再读了。


 我老婆黑社会 回复于:2007-01-22 16:34:49
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 分配 内存 关于 数据库 共享 代理 DB2 一个 应用程序

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.