How to determine if NUMA configuration is enabled or disabled?

NUMA配置检查
本文介绍如何确定NUMA配置是否在系统中启用或禁用。通过使用numactl命令和检查dmesg日志,可以诊断并确认NUMA状态。若BIOS中未启用NUMA,或内核未正确检测到,将提供解决步骤。

How to determine if NUMA configuration is enabled or disabled?

 SOLUTION 已验证 - 已更新 2017年二月20日19:10 - 

English 

环境

  • Red Hat Enterprise Linux 4
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

问题

  • How to determine if NUMA configuration is enabled or disabled?
  • numactl --show does not show multiple nodes

Raw

# numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11
cpubind: 0
nodebind: 0
membind: 0
  • numactl --hardware does not list multiple nodes

Raw

available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11
node 0 size: 65525 MB
node 0 free: 17419 MB
node distances:
node   0
  0:  10
  • grep -i numa /var/log/dmesg returns No NUMA configuration found

Raw

No NUMA configuration found
Faking a node at 0000000000000000-0000001027fff000
Bootmem setup node 0 0000000000000000-0000001027fff000
NODE_DATA [000000000000c000 - 000000000003ffff]
bootmap [0000000000100000 -  0000000000304fff] pages 205
  • Even with NUMA enabled, dmesg does not show any information of NUMA initialization.

决议

  • NUMA should be enabled in the BIOS
  • If NUMA is enabled on BIOS, then execute the command numactl --hardware to list inventory of available nodes on the system
    Example output of numactl --hardware on a system which has NUMA

Raw

# numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 8157 MB
node 0 free: 88 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 8191 MB
node 1 free: 5176 MB
node distances:
node   0   1 
  0:  10  20 
  1:  20  10 
  • If dmesg does not show any information about NUMA, then increase the Ring Buffer size:
    Boot with 'log_buf_len=16M' (or some other big value). Refer the following kbase article How do I increase the kernel log ring buffer size? for steps on how to increase the ring buffer
  • If the server does not have NUMA support or if the BIOS option is not enabled, then the following messages will be seen in dmesg

Raw

No NUMA configuration found
Faking a node at 0000000000000000-0000001027fff000
  • If ACPI is disabled, that will also disable NUMA; verify that ACPI is not disabled by a grub.conf kernel parameter and remove it if found:

Raw

$ grep acpi=off /proc/cmdline
$ 

根源

NUMA has to enabled in the BIOS. If dmesg does not have records of numa initialization during bootup, then it is possible that NUMA related messages in the kernel ring buffer might have been overwritten. Increase the ring buffer so that more messages can be stored. The default kernel ring buffer size is 512 kilobytes.

诊断步骤

1. Check /var/log/dmesg for NUMA related messages
2. Use numactl --hardware to list the numa inventory of the system

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值