Intel AEP配置快速上手
浏览NVM全貌
sudo ipmctl show -memoryresources
以内存插槽为单位展示AEP信息
sudo ipmctl show -dimm
NVM Region(区域)信息
Linux以Region
区域为单位来划分NVM区域的硬件特征,或者说是用途。一个区域内的NVM具有相同的特性,比如都做内存(Volatile
)或者非易失存储(Appdirect
,可供系统/用户作为数据设备读写)。可以理解为把NVM DIMM再抽象、划分为内存或硬盘(因为NVM的确同时具有两种设备的特性)。
sudo ipmctl show -region
把一个CPU下的所有PMEM划成一个区域
官方文档中提到,Region不能跨CPU插槽,估计是因为NUMA影响性能的原因。
sudo ipmctl create -goal -socket 0x0000 PersistentMemoryType=AppDirect
制造单个无交错的PMEM区域(可用于测试单条PMEM性能?)
sudo ipmctl create -socket 0x0000 -dimm 0x0001 -goal PersistentMemoryType=AppDirectNotInterleaved
这条命令会报错,但配置完重启后还是会达成预期效果= =
查看已有区域使用情况
sudo ndctl list -Ruv
查看已有Namespace
Namespace
命名空间,可认为是设备上的分区,可用作磁盘或分区,格式化后供系统或用户使用。
sudo ndctl list -Nuv
创建新Namespace
sudo ndctl create-namespace -t pmem -m fsdax -s $((128*1024*1024*1024)) -n default -r region0
注意如果使用的Region是DirectApp Interleaved的话,这里的size必须要是区域设备数的整数倍,不然数据不能均匀分布,会报错。
删除Namespace
sudo ndctl disable-namespace -r region0 namespace1.0
sudo ndctl destroy-namespace -r region0 namespace1.0
重置PMEM(比如异常断电后namespace找不回来)
sudo ndctl destroy-namespace all -f # 删除namespace
sudo ipmctl delete -f -dimm -pcd # region配置都给你扬喽
其他参见ipmctl
/ndctl
官方文档,或者巨硬的快速上手教程。