NUMA構成が有効か無効かを判断するにはどうすればよいですか?



How Determine If Numa Configuration Is Enabled

ソリューションの検証-2017年2月20日の19:10に更新-

英語



周囲

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

問題

  • NUMA構成が有効か無効かを判断するにはどうすればよいですか?
  • numactl --show複数のノードを表示しません

# 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複数のノードをリストしません



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が返すNo NUMA configuration found

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
  • NUMAが有効になっている場合でも、dmesgはNUMA初期化の情報を表示しません。

解決

  • BIOSでNUMAを有効にする必要があります
  • BIOSでNUMAが有効になっている場合は、コマンドnumactl --hardwareを実行します。システムで使用可能なノードのインベントリを一覧表示するには
    numactl --hardwareの出力例NUMAがあるシステムで

# 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
  • dmesgにNUMAに関する情報が表示されない場合は、リングバッファサイズを増やします。
    'log_buf_len = 16M'(またはその他の大きな値)で起動します。次のkbaseの記事を参照してください カーネルログリングバッファサイズを増やすにはどうすればよいですか? リングバッファを増やす方法の手順については
  • サーバーがNUMAをサポートしていない場合、またはBIOSオプションが有効になっていない場合、次のメッセージがdmesgに表示されます。



No NUMA configuration found Faking a node at 0000000000000000-0000001027fff000
  • ACPIが無効になっている場合は、NUMAも無効になり、grub.confカーネルパラメーターによってACPIが無効になっていないことを確認し、見つかった場合は削除します。

$ grep acpi=off /proc/cmdline $

ソース

NUMAはBIOSで有効にする必要があります。 dmesgに起動時のnuma初期化のレコードがない場合は、カーネルリングバッファ内のNUMA関連メッセージが上書きされている可能性があります。より多くのメッセージを保存できるように、リングバッファを増やします。デフォルトのカーネルリングバッファサイズは512キロバイトです。

診断手順

1. / var / log / dmesgでNUMA関連のメッセージを確認します
2. numactl --hardwareを使用しますシステムのnumaインベントリを一覧表示するには