首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RocksDB总内存使用量

RocksDB总内存使用量
EN

Stack Overflow用户
提问于 2021-05-27 22:12:37
回答 1查看 1.3K关注 0票数 1

我正在看一个示例RocksDB选项配置:

代码语言:javascript
复制
opts = rocksdb.Options()
opts.create_if_missing = True
opts.max_open_files = 300000
opts.write_buffer_size = 67108864
opts.max_write_buffer_number = 3
opts.target_file_size_base = 67108864

opts.table_factory = rocksdb.BlockBasedTableFactory(
    filter_policy=rocksdb.BloomFilterPolicy(10),
    block_cache=rocksdb.LRUCache(2 * (1024 ** 3)),
    block_cache_compressed=rocksdb.LRUCache(500 * (1024 ** 2)))

https://python-rocksdb.readthedocs.io/en/latest/tutorial/

上面写着

它对2.5G的高速缓存进行了分析,使用布卢姆过滤器进行更快的查找,并在写入.sst文件之前将更多的数据(64 MB)保存在内存中。

这是否意味着它使用2.5GB或64 or的最大内存?

为什么缓存是2.5GB?(2 * (1024 ** 3))是20亿,而不是25亿?

EN

回答 1

Stack Overflow用户

发布于 2021-07-01 08:11:51

这是否意味着它使用2.5GB或64 or的最大内存?

不是的。这意味着块缓存将花费2.5GB,内存中的表将花费64 * 3MB,因为有3 (opts.max_write_buffer_number)缓冲区,每个缓冲区的大小为64 MB (opts.write_buffer_size)。除此之外,Rocksdb还需要一些其他内存来存储索引和bloom文件块。详细信息请查看

为什么缓存是2.5GB?(2 * (1024 ** 3))是20亿,而不是25亿?

因为有2GB的未压缩块缓存(block_cache)和0.5GB的压缩块缓存(block_cache_compressed)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67730600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档