不均一なメモリ アクセス または Non-Uniform Memory Architecture (NUMA) SMP (マルチプロセッサ) アーキテクチャで使用される物理メモリ設計で、メモリ アクセス時間はプロセッサに対するメモリ位置に依存します。 NUMA の下では、プロセッサは非ローカル メモリ、つまり、別のプロセッサにローカルなメモリまたはプロセッサ間で共有されるメモリよりも高速に独自のローカル メモリにアクセスできます。
NUMA システムでは、プロセッサ、メモリ、および I/O がセルにグループ化されます。セル内の通信の遅延と帯域幅の特性は「速い」のに対し、セルの外に出るのは「遅い」です。 NUMA システムのメモリは物理的に分散されていますが、論理的に共有されているため、これらのシステムは、その機能を使用するように最適化されたアプリケーションにより優れたパフォーマンスを提供します。最適化されていないアプリケーションの場合でも、デフォルトの動作は有益でない場合でも問題がないように設計されているため、パフォーマンスは向上します。また、メモリ、CPU、およびディスク領域のはるかに大きな共有リソースに引き続きアクセスできます。
NUMA の無効化
1. NUMA を無効にするには、numa=off を追加します grub.conf のカーネル行に ファイルの例:
a. 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
b. 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
2. サーバーを再起動して変更を有効にします。
# shutdown -r now
確認
再起動後に確認するには、/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 がアクティブな場合、複数のノードがリストされます。