Linkman的学习记录

学习记录,兴趣方面:实时数据库、MES、SIS、工控软件、C++编程、人机界面、嵌入式软件、可视化等

VC知识库BLOG 首页 新随笔 联系 聚合 登录
  100 Posts :: 16 Stories :: 403 Comments :: 0 Trackbacks

留言簿(17)

随笔分类

随笔档案

文章分类

文章档案

传说中的名人

我的链接

朋友

搜索

最新评论

阅读排行榜

评论排行榜

DB_ENV->set_cachesize


#include <db.h>

 

int

DB_ENV->set_cachesize(DB_ENV *dbenv,

    u_int32_t gbytes, u_int32_t bytes, int ncache);

 

int

DB_ENV->get_cachesize(DB_ENV *dbenv,

    u_int32_t *gbytesp, u_int32_t *bytesp, int *ncachep);


描述: DB_ENV->set_cachesize

设置共享内存缓冲池的尺寸。缓冲区的尺寸应当满足应用程序的正常工作需要的工作集,还需要为特殊情况下预留一些尺寸。(注意:工作集与同时访问的页面数的概念不一样,工作集一般情况下要大得多)

缺省的缓冲区尺寸是256KB,不能够小于20KB。所有小于500MB的缓冲区被自动增加25%的大小。而尺寸大于500MB则精确指定。在32位的操作系统中,最大的单个缓冲区的尺寸为4GB,而在64位系统上,值为10TB。(所有的尺寸都是2的幂,比如,256KB218次幂而不是256000)。为了详细了解Berkeley BD如何应如何调整缓冲区尺寸,请见“选缓冲区尺寸”。

可能在某些架构和操作系统上,Berkeley DB不能申请连续的大尺寸缓冲区。比如,在某些版本的Solaris上处理器就限制了能被申请的连续空间的尺寸。如果ncache01,则缓冲区将被申请为一段连续的空间,如果大于1,则缓冲区被平分为数量为ncache的多块内存。

数据库环境的缓冲区尺寸还可以通过环境配置文件DB_CONFIG进行配置。在该文件中以字符串“set_cachesize”开始,一个或多个空格字符,而缓冲区尺寸包括以下三部分:缓冲区的GB部分、字节部分、以及块数,同样由空格隔开。例如: “set_cachesize 2 524288000 3 应当建立一个2.5GB的逻辑缓冲区,缓冲区被分为3个物理块。因为DB_CONFIG文件是在数据库环境被打开时读入,它将覆盖那些在它之前执行的配置过程。

DB_ENV->set_cachesize 方法配置数据库环境,而不是只处理由DB_ENV 指定的句柄。

DB_ENV->set_cachesize 方法在DB_ENV->open 方法调用后不应当再被调用。如果在执行DB_ENV->open时数据库环境已存在,被DB_ENV->set_cachesize设定的值将会被忽略。

DB_ENV->set_cachesize 方法返回非0的错误值,0表示成功。

参数

bytes

缓冲区的总尺寸为gbytes GB + bytes

gbytes

缓冲区的总尺寸为gbytes GB + bytes

ncache

ncache 参数为缓冲区的块数。

错误

DB_ENV->set_cachesize 方法可能错误,返回如下的非0错误号:

EINVAL

指定的缓冲区尺寸太小,或者是在DB_ENV->open 之后被调用,或者带有不正确的标志,或参数不正确。


描述: DB_ENV->get_cachesize

DB_ENV->get_cachesize 方法返回缓冲区的尺寸。

DB_ENV->get_cachesize 方法可以在应用程序的生命周期的任何时间被调用。

DB_ENV->get_cachesize 方法返回非0的错误值,0表示成功。

参数

bytesp

缓冲区的总尺寸为gbytes GB + bytes

gbytesp

缓冲区的总尺寸为gbytes GB + bytes

ncachep

ncache 参数为缓冲区的块数。


DB_ENV

另见

数据库环境和相关方法

posted on 2007-01-18 21:42 Linkman的学习记录 阅读(1669) 评论(4)  编辑 收藏

Feedback

# re: [翻译]Berkeley DB内存池相关API-- 6. DB_ENV->set_cachesize 2007-07-12 19:45 sam
<a href="http://www.puhuagood.com"">http://www.puhuagood.com" target="_blank">条码</a>[url=http://www.puhuagood.com]条码[/url]

# re: [翻译]Berkeley DB内存池相关API-- 6. DB_ENV->set_cachesize 2008-04-21 11:57 CXVCXVCX
[url=http://www.bzjx.net/pro11.asp]喷码机[/url]
[url=http://www.tmdy.net/cp3-2.asp]河南喷码机[/url]
[url=http://www.cnbz.cn/Product.asp?BigClassID=32]郑州喷码机[/url]
[url=http://www.cnbz.cn/Product.asp?BigClassID=19]打包机[/url]
[url=http://www.bzjx.net/pro4.asp">http://www.bzjx.net/pro4.asp]自动打包机[/url]
[url=http://www.bzjx.net/pro4.asp">http://www.bzjx.net/pro4.asp]半自动打包机[/url]

# re: [翻译]Berkeley DB内存池相关API-- 6. DB_ENV->set_cachesize 2008-04-21 11:59 XXCX
................................................................
<a href="http://www.bzjx.net/pro11.asp">喷码机</a>
<a href="http://www.tmdy.net/cp3-2.asp">河南喷码机</a>
<a href="http://www.cnbz.cn/Product.asp?BigClassID=32">郑州喷码机</a>
<a href="http://www.cnbz.cn/Product.asp?BigClassID=19">打包机</a>
<a href="http://www.bzjx.net/pro4.asp">自动打包机</a>
<a href="http://www.bzjx.net/pro4.asp">半自动打包机</a> 

# re: [翻译]Berkeley DB内存池相关API-- 6. DB_ENV->set_cachesize 2008-09-15 20:37 jianle8
[u][color=#282827][url=http://www.jianle8.com">http://www.jianle8.com">http://www.jianle8.com">http://www.jianle8.com]快速减肥[/url]产后减肥 , 局部减肥, 燃脂博士减肥网,全国城[/color][/u]
[u][color=#282827]市货到付款, 网上购物方便到家。[url=http://www.jianle8.com">http://www.jianle8.com">http://www.jianle8.com">http://www.jianle8.com]减肥[/url]-->http://www.jianle8.com">http://www.jianle8.com">http://www.jianle8.com">http://www.jianle8.com[/color][/u]


标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]