我目前正在对构建在Leveldb上的应用程序进行基准测试。我希望将其配置为键值总是从磁盘读取,而不是从内存读取。
为此,我需要限制程序消耗的内存。
我使用的是100字节的键值对和100000字节的键值对,这使得它们的大小等于10 MB。如果我使用ulimit将虚拟内存限制设置为小于10 MB,则甚至无法运行命令Makefile。
1)如何配置应用程序,以便始终从磁盘中获取键值对?
2)超极限-v是什么意思?限制虚拟内存是否转化为限制程序在RAM上使用的内存?
发布于 2016-07-24 17:45:29
也许没有必要减少可用内存,但只需要像这里描述的那样禁用缓存。
leveldb::ReadOptions options;
options.fill_cache = false;
leveldb::Iterator* it = db->NewIterator(options);
for (it->SeekToFirst(); it->Valid(); it->Next()) {
...
}https://stackoverflow.com/questions/38469966
复制相似问题