1

我必须为非常特定的用途编写一个简单的键值存储。该存储将在与使用它的进程相同的内存空间中运行。

此存储的一个要求是它保存在 RAM 中,并且必须尽可能快。我们还没有决定数据结构,但我们可能会使用LLRB-Tree

如何确保我的数据结构始终保存在 RAM 中?不交换,不分页,不缓存在其他地方,而是专门在内存中。

4

1 回答 1

2

如果您使用 Linux,请检查mlock()

mlock() 和 mlockall() 分别将调用进程的部分或全部虚拟地址空间锁定到 RAM 中,防止该内存被分页到交换区域。 (手册页)

于 2012-04-18T09:19:54.847 回答