第 21 章 使用 NVDIMM 持久性内存存储

您可以在连接到您的系统的非线性内存模块 (NVDIMM) 设备上启用和管理各种存储类型。

有关在 NVDIMM 存储上安装 Red Hat Enterprise Linux 9,请参阅安装到 NVDIMM 设备

21.1. NVDIMM 持久内存技术

非易失性双内存模块 (NVDIMM) 持久内存(也称为存储类内存或 pmem)是内存和存储的组合。

NVDIMM 将存储的持久性与低访问延迟和动态 RAM (DRAM) 的高带宽合并。以下是使用 NVDIMM 的其他优点:

  • NVDIMM 存储是字节地址的,这意味着可以使用 CPU 负载和存储指令来访问。除了访问传统的基于块的存储所需的 read() 和 write() 系统调用外,NVDIMM 还支持直接加载和存储编程模型。
  • NVDIMM 的性能特征与具有非常低访问延迟的 DRAM 类似,通常以十到百纳秒为单位。
  • 当电源关闭时,保存在 NVDIMM 中的数据会被保留,类似于持久性内存。
  • 通过直接访问 (DAX) 技术,无需通过系统页面缓存,即可直接到内存映射存储。这样便可为其他目的释放 DRAM。

在以下用例中 NVDIMM 很有用,比如:

数据库
NVDIMM 减少的存储访问延迟可提高数据库性能。
快速重启

快速重启也被称为热缓存效果。例如:文件服务器在启动后没有在内存中的文件内容。客户端连接和读取或者写入数据时,会在页面缓存中缓存这些数据。最后,缓存包括大多数热数据。重启后,该系统必须在传统存储上再次启动该进程。

使用 NVDIMM 时,如果应用程序被正确设计,应用程序可能会在重启后保留 warm 缓存。在本例中,不会涉及页面缓存:应用程序会直接在持久内存中缓存数据。

快速写缓存
在数据被存入持久介质前,文件服务器通常不会确认客户端的写入请求。使用 NVDIMM 作为快速写入缓存可让文件服务器快速确认写入请求,因为会较低延迟。