我正在尝试以giga字节为bdb文件设置cachesize。我正在使用bdb的python接口。我看到bdb的底层'C'api有这个选项。
int DB->set_cachesize(DB *db, u_int32_t gbytes, u_int32_t bytes, int ncache);
但我只能将一个cachesize参数传递给btopen函数,该函数被解释为cache_size(以字节为单位)。这会将max cache_size限制为2GB。我希望能够将缓存大小设置为至少4gb。
任何能够设置/增加缓存大小的帮助都将非常感谢,提前感谢!
下面是我用来设置cache_size的python函数。
cache_size = (2*1024*1024*1024) - 1
db = bsddb.btopen(self._bdbFileName, cachesize=cache_size, flag='n')
答案 0 :(得分:0)
我不熟悉BDB的python接口。当我使用c api时,我非常感谢用环境打开bdb并在环境中设置了很多配置。
例如,打开带有环境的bdb文件,并将env dir设置为〜/ env / 。然后在〜/ env / 中放入名为 DB_CONFIG 的文件,内容为:
set_cachesize 4 0 1
cachesize将设置为4GB。无需代码。
您可以在 DB_CONFIG 中查看this所有可用配置。