Linux服务器配置持久内存PM

1. 环境准备

这里使用的系统是Ubuntu 20.04,在配置之前建议先安装如下工具 ipmctlndctldaxctl。这三个工具都可以使用apt install的方式安装(强烈建议)。如果实在无法联网,也可以使用源码安装的方式。

ipmctl源码下载链接 https://github.com/intel/ipmctl
ndctl 源码下载链接 https://github.com/intel/ndctl

2. 安装步骤

2.1 查看numa节点

在安装之前,可以使用numactl -H 命令查看系统中的numa节点信息。这里可以看到,目前系统中只有2个numa节点。
在这里插入图片描述

2.2 删除存在的namespace

系统中可能已经存在 namespace,可以使用 ndctl list 命令进行查看。为了避免出现问题,不过还是建议删除已有的 namespace 从新开始。

// 这里的all是删除所有的namespace,也可以指定 namespaceX.Y 删除具体的某一个
sudo ndctl destroy-namespace --force all
sudo ndctl destroy-namespace --force namespace1.0

2.2 新建namespace

使用下面的命令新建namespace,这里的mode选择dax

sudo ndctl create-namespace --mode=dax

使用ndctl list再次查看系统里的namespace

在这里插入图片描述

2.3 修改chardev的映射模式从dev到mem

使用如下命令将映射模式从dev改为mem,注意这一步骤可能会出现问题,如果出现错误,下面有给出一些解决方案。
另外这里给出daxctl的使用指南。NDCTL User Guide 这里面有一些常见的用法以及示例。

sudo daxctl reconfigure-device --mode=system-ram  dax1.0

在这里插入图片描述

2.4 完成

再次使用 numactl -H 查看内存节点信息,可以看到系统中已经多出了2个numa节点node2以 及 node3 ,大小分别为128G。

在这里插入图片描述

3. 一些可能出现的问题

3.1 在删除存在的namespace删除不成功

可能的原因是系统中这块内存已经被挂载,可以使用df -h进行查看。如果已经被挂载,使用umount先取消挂载,再进行删除。

3.2 修改chardev的映射模式从dev到mem不成功

# daxctl reconfigure-device --mode=system-ram --no-online dax0.0
libdaxctl: daxctl_dev_disable: dax0.0: error: device model is dax-class
libdaxctl: daxctl_dev_disable: dax0.0: see man daxctl-migrate-device-model
dax0.0: disable failed: Operation not supported
error reconfiguring devices: Operation not supported
reconfigured 0 devices

这个问题比较常见,可能的原因可能下面两个

  1. node节点始终分配到node0,但是系统中node0是已经存在的,所以会出错。
    可以在之前的命令中加上 --no-online ,下面给出一个该问题的issue链接
    daxctl always map system-ram into target_node 0
  2. 某些 Linux 发行版默认情况下可能不会启用所需的“设备迁移模型”功能。使用如下命令,然后再删除已有的namespace,重新开始操作。
$ daxctl migrate-device-model
success: installed /etc/modprobe.d/daxctl.conf

4. 参考资料

M6p 实例配置持久内存

如何用 ndctl/ipmctl 管理工具 配置不同访问模式的pmem设备

daxctl−reconfigure−device(1)

How To Extend Volatile System Memory (RAM) using Persistent Memory on Linux

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值