是否存在阻止STL容器交换的C ++分配器?

时间:2011-10-01 15:46:16

标签: c++ stl memory-management posix allocator

有没有人看到调用mlock(2)的分配器阻止STL容器的内容被交换到磁盘?

编写这样一个分配器只有一个棘手的部分,即通过聚类分配为mlocked来最小化冻结页数。首先,应该从修改一些共享内存分配器开始?

1 个答案:

答案 0 :(得分:4)

如果我想实现这个(很难想象,因为我觉得很难相信它是解决任何问题的正确方法:^),我会尝试通过使用a boost::pool_allocator(从池中提供与标准库兼容的分配器)然后 - 我忘记了细节;认为它会将RequestedSize模板参数与singleton_pooluser_allocator联系起来? - 有一些方法可以让你坐在游泳池的顶部,通过你所选择的机制请求更大的内存块,在你的情况下,这将是分配的mocked页面。