跳转至主要内容
支持知识库

是否可以在不格式化磁盘或使用文件系统的情况下配置 英特尔® 傲腾™ 持久内存 (PMem)?

内容类型: 维护与性能   |   文章 ID: 000057219   |   上次审核日期: 2025 年 03 月 04 日

环境

英特尔® 傲腾™持久内存

说明

  • 是否可以在不格式化磁盘的情况下在用户空间访问英特尔® 傲腾™持久内存(App Direct 模式)?
  • 持久内存开发套件 (PMDK) 应该需要使用文件系统挂载 DCPM,它的工作方式类似于块设备。

解决方法

通过在 devdax 模式下使用 英特尔® 傲腾™ 持久内存 (PMem),可以对此类设备进行内存映射。因为它是字节可寻址的,所以它不需要文件系统。

拥有文件系统的主要好处是它提供对持久内存的安全、多租户访问。

Devdax 模式安全性非常简单(基于对 /dev/dax* 设备的访问),不提供对多租户的任何支持。(理论上,它可以构建自己的文件系统,但最终会得到一个看起来很像支持 dax 的文件系统的东西。)

除了通常支持的 fsdax 访问之外,还可以修改分配库 (libvmmalloc) 以与 devdax 设备一起使用。

请注意,与文件系统决定所用页面大小(4KB 或 2MB)的 fsdax 模式不同,devdax 模式使用 英特尔® 傲腾™ 持久内存本身(4KB、2MB 或 1GB)的对齐特性。尽管缺乏 1GB TLB 条目,但 devdax 英特尔® 傲腾™持久内存的 1GB 对齐方式可在各种工作负载中产生最佳性能。(它永远不会变慢,有时根据工作负载的不同,有时会提高 68%。libpmem 库(和 libpmem2 发布后)也可以与 devdax 一起使用。

总之,可以只对其进行映射,但要注意上面列出的限制,因为大多数 PMDK 库可以简单地将 devdax 用于池。

其他信息:

  • 持久内存开发套件 (PMDK) 是当前可用的开源库和工具的集合,适用于 Linux* 和 Windows*。
  • 直接访问 DAX 是一种文件系统扩展,可绕过页面缓存和块层,将持久内存从 PMEM 块设备直接映射到进程地址空间。直接访问 (DAX) 是一种允许应用程序绕过传统 I/O 堆栈(页面缓存和块层)从 CPU 直接访问持久媒体(通过加载和存储)的机制。已针对支持 DAX 的持久内存扩展的文件系统包括 Linux ext4 和 XFS 以及 Windows NTFS。这些文件系统绕过 I/O 子系统,直接将持久内存用作字节可寻址负载/存储内存,作为存储于持久内存中的数据的最快和最短路径。除了消除 I/O作外,此路径还使小型数据写入的执行速度比传统块存储设备的写入速度更快。

免责声明

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。