做tmpfs和mmap在xen上玩得好吗?

时间:2014-03-06 22:43:30

标签: mongodb linux-kernel shared-memory mmap xen

mmap在Linux中的tmpfs卷中导致活动页面存储在RAM中两次吗?我的理解是内核使用特殊的shmem_mmap操作来映射ramdisks,因此每个页面只消耗一次资源。但是我正在使用xen虚拟机,并且我也假设虚拟内存操作会出现问题。

背景信息:我正在AWS中的tmpfs卷上试验mongodb(即在xen虚拟机上)。

1 个答案:

答案 0 :(得分:1)

活动的tmpfs页面不会存储两次(这对于大型tmpfs来说非常浪费)。您可能希望阅读tmpfs docs at kernel.org,特别是对于mongo"如果超大tmpfs实例,则机器将死锁,因为OOM处理程序将无法释放该内存。"我没有关注你在tmpfs卷中做什么,"但我认为你的意思是文件系统在进行内存映射,而不是一个进程,只需要像任何块设备一样写入文件系统。

看起来你有一个关于Xen和虚拟内存的隐藏问题,我建议你也阅读Brendan Gregg's Xen Feature Detection post(你想要"页面表")并且可能看一看在Intel's Virtualization Technology site,自2014年年中至今,AWS表示他们在EC2 Instance Types页面上使用了英特尔Sandy Bridge和Ivy Bridge。