10.2. 内存管理
10.2.1. 为 64 位 ARM 提供了 52-bit PA 复制链接链接已复制到粘贴板!
在这个版本中,支持 64 位 ARM 架构的 52-bit 物理寻址(PA),它提供比之前的 48 位 PA 更大的物理地址空间。
10.2.2. 5 级页面表 x86_64 复制链接链接已复制到粘贴板!
在 RHEL 7 中,现有内存总线有 48/46 位的虚拟/物理内存寻址容量,而 Linux 内核实现了 4 级页表,以将这些虚拟地址管理成物理地址。物理总线寻址行会使物理内存上限限制为 64TB。
这些限制被扩展为 57/52 位的虚拟/物理内存寻址,带有 128 PiB 的虚拟地址空间(64PB 用户/64PB 内核)和 4 PB 的物理内存容量。
有了扩展地址范围,RHEL 8 中的内存管理增加了对 5 级页表实现的支持。此实现能够处理最多 128 PiB 的虚拟地址空间和 4 PiB 的物理地址空间的扩展地址范围。
默认情况下,对支持此功能的硬件启用了 5 级页表,即使安装的物理内存小于 64 TiB。对于内存不足 64 TiB 的系统,遍历 5 级页表方面的开销略有增加。为避免这种开销,用户可以使用 no5lvl 内核命令行参数禁用 5 级页表,以强制使用 4 级页表。
10.2.3. 交换算法更改 复制链接链接已复制到粘贴板!
在 RHEL 8 中,Linux 内核算法的虚拟内存管理有更新。与早期版本相比,这可能会导致匿名内存页面(进程数据)更频繁地将磁盘交换到磁盘。这些更改是因为与旋转磁盘相比,现代固态驱动器(SSD)的性能影响显著降低。为确保迁移到 RHEL 8 时获得最佳性能,建议用户评估,如有必要,请调整系统的 swappiness 设置。