Jef*_*ges 5 c++ posix memory-management stl allocator
有人见过调用mlock(2)来防止 STL 容器的内容被交换到磁盘的分配器吗?
编写这样一个分配器只有一个棘手的部分,即通过对要 mlock 的分配进行集群来最小化 mlocked 页的数量。因此,人们可能应该从修改一些共享内存分配器开始?
如果我想实现这个(这很难想象,因为我发现很难相信它是解决任何问题的正确解决方案:^),我会尝试使用(boost::pool_allocator
它提供了一个标准库兼容的分配器)来实现它一个游泳池)然后 - 我忘记了细节;认为它会涉及RequestedSize
到singleton_pool
和 a 的模板参数user_allocator
?- 将有某种方法让它位于池的顶部,通过您选择的机制请求更大的内存块,在您的情况下,这将是分配 mlocked 页面。