2020-6-16更新
一般内核只需要两步即可进行持久性内存模拟
step 1 配置 grub:
vi /etc/default/grub
在里面加入如下语句,前一个为要模拟的大小,后一个为模拟的持久性内存在内存中开始的位置。也就是从内存4G开始,划分32G来模拟持久性内存~
GRUB_CMDLINE_LINUX="memmap=32G!4G"
step 2 更新 grub
sudo update-grub
reboot
更深入了解请看下文~
以下为原内容~
————————————————————————————————————————————————————
现在真实的持久化内存对于我们普通人来说还不可用,在进行实验和测试的时候可能需要我们模拟持久化内存来进行使用。
现在在一台主机(没有服务器o(╥﹏╥)o)上测试划分一块内存区域来进行持久化内存的模拟。
环境:Ubuntu 18.04,一台普通的Dell台式机,运行内存 8 G。
从Linux 4.0以来,Linux内核就具备了对持久性内存设备和仿真的支持,但是,为了便于配置,建议使用比4.2更新的内核。
在内核中,使用对文件系统的DAX扩展创建了一个支持PMEM的环境。某些发行版(如Fedora 24及更高版本)内置了DAX / PMEM支持。
要了解内核是否支持DAX和PMEM,可以使用以下命令:
# egrep ‘(DAX|PMEM)’ /boot/config-`uname –r`
如果内置了支持就会输出类似如下的内容:
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_BLK_DEV_RAM_DAX=y
CONFIG_BLK_DEV_PMEM=m
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_ARCH_HAS_PMEM_API=y
但是很遗憾,我们的Ubuntu 18.04没有内置对DAX/PMEM的支持,所以输入上述命令什么输出都没有:
接下来就在Ubuntu 18.04上模拟持久化内存。
由于在Ubuntu 18.04上默认没有支持DAX和PMEMÿ