将 tmpfs 或 ramfs 绑定到特定的内存节点

Posted

技术标签:

【中文标题】将 tmpfs 或 ramfs 绑定到特定的内存节点【英文标题】:Bind tmpfs or ramfs to a specific memory node 【发布时间】:2015-07-29 12:58:30 【问题描述】:

我正在使用具有两个内存节点的 NUMA 服务器。

我想创建一个文件系统,它将被加载到主内存中,如 tmpfs 或 ramfs,并且我想将它绑定到特定的内存节点。换句话说,我不希望 ramfs 内容在两个内存节点之间交错。

那么我该如何实现呢?

我尝试了带有 --file 选项的 numactl 命令,但它似乎只适用于单个文件(我需要加载一个目录)。

谢谢

【问题讨论】:

【参考方案1】:

我发现 mount 命令的 mpol 选项可以满足我的要求。

例如命令:

mount -t tmpfs -o size=4g,mpol=bind:0 tmpfs pathToTheDir

将创建一个 4GB 的文件系统,该文件系统将分配在内存节点 0 上

【讨论】:

以上是关于将 tmpfs 或 ramfs 绑定到特定的内存节点的主要内容,如果未能解决你的问题,请参考以下文章

linux之tmpfs

在 ramfs 中,如何根据 NUMA 节点跟踪文件访问模式?

solaris 10 (sparc64) ramdisk(如 shmfs 或 tmpfs)

docker-tmpfs挂载

Linux 内存文件系统

initramfs文件系统