【问题标题】:Leveldb limit testing - limit Memory used by a programLeveldb 限制测试 - 限制程序使用的内存
【发布时间】:2016-11-23 00:33:54
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ bash memory limit leveldb


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2018-11-03
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多