禁用 NUMA

  1. 要禁用 NUMA,请在 grub.conf 文件的内核行添加 numa=off,例如:

对于 RHEL 6

编辑 /boot/grub/grub.conf 文件中的内核行

# vi /boot/grub/grub.conf
kernel /vmlinuz-2.6.39-400.215.10.EL ro root=/dev/VolGroup00/LogVol00 numa=off

对于 RHEL 7

编辑文件 /etc/default/grub 中的内核行

# vi /etc/default/grub
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel_vm-210/root rd.lvm.lv=rhel_vm-210/swap vconsole.font=latarcyrheb-sun16 crashkernel=auto  vconsole.keymap=us rhgb quiet numa=off

在 RHEL/CentOS 7 的情况下,还要确保使用以下命令重建 GRUB 配置文件。

# grub2-mkconfig -o /etc/grub2.cfg
  1. 重新启动服务器以使更改生效。
# shutdown -r now
如何在 CentOS/RHEL 6,7 中禁用 NUMA

NUMA ( Non-Uniform Memory Access非统一内存访问 / Non-Uniform Memory Architecture非统一内存架构) 是 SMP(多处理器)架构中使用的物理内存设计,其中内存访问时间取决于相对于处理器的内存位置。

在 NUMA 下,一个处理器可以比非本地内存更快地访问自己的本地内存,即另一个处理器的本地内存或者处理器之间共享的内存。

在 NUMA 系统中,处理器、内存和 I/O 被组合到单元中。
小区内通信的延迟和带宽特性是“快”的,而在小区外是“慢”的。
由于 NUMA 系统中的内存在物理上是分布式的,但在逻辑上是共享的,因此这些系统为经过优化以使用其功能的应用程序提供了更好的性能。
对于未优化的应用程序,它们仍然提供更好的性能,因为默认行为被设计为良性的,如果不是有益的,它们仍然可以访问更大的内存、CPU 和磁盘空间共享资源。

之路教程 https://onitr oad .com

检查确认

要在重新启动后进行验证,请检查 /proc/cmdline 文件以查看使用的 GRUB 命令行选项。
(以下示例来自 RHEL 6)。

# cat /proc/cmdline
ro root=/dev/VolGroup00/LogVol00 numa=off
# numactl -H
available: 1 nodes (0)
node 0 size: 4195 MB
node 0 free: 3304 MB
node distances:
node 0
 0: 10

如果 NUMA 处于活动状态,则会列出多个节点。

日期:2020-09-17 00:12:29 来源:oir作者:oir