Leveldb限制测试 - 限制程序使用的内存

时间:2016-07-19 23:10:45

标签: c++ bash memory limit leveldb

我目前正在对Leveldb上构建的应用程序进行基准测试。我想以这样的方式配置它,即始终从磁盘而不是从内存中读取键值 为此,我需要限制程序消耗的内存 我使用每个100字节的键值对和100000个键值对,这使得它们的大小等于10 MB。如果我使用ulimit将虚拟内存限制设置为小于10 MB,我甚至无法运行命令Makefile

1)如何配置应用程序,以便始终从磁盘中获取键值对?

2)ulimit -v是什么意思?是否限制虚拟内存转换为限制程序在RAM上使用的内存?

1 个答案:

答案 0 :(得分:1)

也许没有必要减少可用内存,只需按照here所述禁用缓存:

  leveldb::ReadOptions options;
  options.fill_cache = false;
  leveldb::Iterator* it = db->NewIterator(options);
  for (it->SeekToFirst(); it->Valid(); it->Next()) {
    ...
  }