A.13. numad

numad は自動で NUMA の親和性を管理するデーモンです。NUMA トポロジーとシステム内のリソース使用を監視して NUMA によるリソース管理と管理を動的に改善します。
numad が有効になると、この動作がデフォルトの自動 NUMA バランシングの動作に優先されることに注意してください。

A.13.1. コマンドラインからの numad の使用

numad を実行可能ファイルとして使用するには、単に以下のコマンドを実行します。
# numad
numad の実行中は、アクティビティーが /var/log/numad.log にログ記録されます。アクティビティーは、以下のコマンドで停止されるまで継続されます。
# numad -i 0
numad を停止しても NUMA 親和性の改善のためになされた変更は削除されません。システムの使用方法が大幅に変わる場合は、numad を再度実行することで親和性が調整され、新たな条件の下でパフォーマンスが改善されます。
numad 管理を特定プロセスに限定するには、以下のオプションで開始します。
# numad -S 0 -p pid
-p pid
指定 pid を明示的な対象一覧に加えます。指定されたプロセスは numad プロセスの重要度しきい地に達するまで管理されません。
-S 0
プロセススキャンのタイプを 0 に設定し、numad 管理を明示的に対象プロセスに限定します。
使用できる numad オプションについては numad の man ページをご覧ください。
$ man numad

A.13.2. numad のサービスとしての使用

numad をサービスとして実行する一方、現在のシステムの負荷に応じて動的にシステムのチューニングを行います。アクティビティーは /var/log/numad.log にログ記録されます。
サービスを開始するには、以下のコマンドを実行します。
# systemctl start numad.service
起動後もサービスを維持する場合は以下のコマンドを実行します。
# chkconfig numad on
使用できる numad オプションについては numad の man ページをご覧ください。
$ man numad

A.13.3. プレプレースメントアドバイス

numad ではプレプレースメントアドバイスサービスを提供しています。各種のジョブ管理システムがこれに問い合わせをして、プロセスのメモリーリソースと CPU の初期組み合わせの際に役立ちます。プレプレースメントアドバイスは numad がサービスもしくは実行可能ファイルとして実行しているかに関わらず利用できます。

A.13.4. KSM をともなう numad の使用

KSM を NUMA システム上で使用している場合は、/sys/kernel/mm/ksm/merge_nodes パラメーターの値を 0 に変更して NUMA ノードにまたがるページのマージを回避します。これを実行しないと、KSM はノードにまたがってページをマージするので、リモートメモリーアクセスが増大します。また、カーネルメモリーが計算した統計情報は、ノード間での大量のマージ後にはそれぞれの間で相反する場合があります。そのため、KSM デーモンが大量のメモリーページをマージすると、numad は利用可能なメモリーの正確な分量と場所について混乱する可能性があります。KSM は、システムにメモリーをオーバーコミットしている場合にのみ、有用なものです。システムに未使用のメモリーが大量にあると、KSM デーモンをオフにして無効にすることでパフォーマンスが高まる場合があります。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。