我必须为一个非常具体的用途编写一个简单的键值存储。该存储将在与使用它的进程相同的内存空间中运行。
这个商店的一个要求是它保存在RAM中,并且必须尽可能快。我们还没有确定数据结构,但我们可能正在使用LLRB-Tree。
如何确保我的数据结构始终保存在RAM中?没有交换,没有分页,没有缓存在其他地方,而是专门在内存中。
答案 0 :(得分:2)
如果您使用Linux,请检查mlock()
mlock()和mlockall()分别锁定部分或全部调用 进程的虚拟地址空间进入RAM,防止内存 被分页到交换区域。 (man page)