smtctl コマンド

目的

smtctl コマンドは、プロセッサー同時マルチスレッド化モードの使用可能化および使用不可化を制御します。

構文

smtctl [ -m off | on [ -w boot | now ]]

smtctl [-t #SMT [-w boot | now ]]

smtctl [-m suspend [-w boot ]]

smtctl [ -m limit [-t #SMT ][-w boot ]]

smtctl [ -m recommended [ -w boot | now ]]

説明

このコマンドは、同時マルチスレッド化サポートのあるプロセッサーの使用状況を制御するために、特権ユーザーおよび特権アプリケーションに提供されます。 同時マルチスレッド化モードでは、プロセッサーに命令レベルでスレッド・レベルの並列性を持たせることができます。 このモードは、即時に、または次のシステム・ブート時に、すべてのプロセッサーを使用可能または使用不可にすることができます。 このコマンドは同時マルチスレッド化オプションを制御します。

物理プロセッサー・コアの個々の同時マルチスレッド化 (SMT) スレッドは、AIX® によって、独立した論理プロセッサーとして取り扱われます。 AIX オペレーティング・システムは、AIX に割り当てられるすべての物理プロセッサー・コアにわたる対称性を維持するために、割り当てられた物理プロセッサー・コアと SMT モードの組み合わせを制限します。この制限があるため、論理プロセッサーの数は、AIX 7.1 の場合は 1024 以下に、AIX 6.1 の場合は 256 以下になります。

POWER8® プロセッサーは SMT-8 に対応しています。つまり、SMT-8 モードで最大 128 個のコアを使用でき、1024 個の論理プロセッサーを作成できるということです。AIX ユーザーが 128 を超える POWER8 コアを使用できるようにするには、下位の SMT モードを使用する必要があります。
スレッドの数
P8 論理区画 (LPAR) をブートする場合、デフォルトの SMT スレッド数は 4 です。デフォルトの SMT スレッド数を動的に増やすには、以下のように入力します。
smtctl -m on
smtctl -t 8
SMT-8 への変更はすぐに有効になります。リブートは不要です。リブート後も設定が持続するようにするには、bosboot コマンドを使用してブート・イメージを再構築する必要があります。デフォルトの SMT-4 は、既存のアプリケーションが 4 個を超えるスレッド用に設計またはコンパイルされていない場合に、パフォーマンスを上げるためのものです。
コアの数
1 つの LPAR に 128 個を超えるコアを割り振ると、デフォルトによって 128 個のコアが使用されます。これは、SMT-8 が使用可能にされた場合に、論理プロセッサー数が最大 1024 という AIX の制限を超えないようにするためです (128 コア * SMT8 = 合計 1024)。LPAR で 128 個を超えるコアを使用するには、以下の一連の AIX コマンドを実行して、コアごとに使用可能な SMT スレッドの数に制限を設定する必要があります。
smtctl -m limit -t 4
bosboot -a
shutdown -Fr
リブート時に、AIX は、最大 256 個のコアを使用できるようにファームウェアとネゴシエーションします。これは、4 SMT スレッドという制限が指定されているため、1024 個のプロセッサーというオペレーティング・システムの制限を超えることはないためです。前に述べたように、smtctl コマンドを実行すると 256 コアを超えることができますが、スレッドの制限は 4 ではなく、2 になります。以下のコマンドでは、SMT 機能を一時停止して追加コアを許可します。
smtctl -m suspend
bosboot -a
shutdown -Fr

フラグ

項目 説明
-m off 同時マルチスレッド化 モードを disabled に設定します。このオプションを -t フラグと一緒に使用することはできません。
-m on 同時マルチスレッド化 モードを enabled に設定します。-m フラグを使用すると、プロセッサーごとにサポートされる最大数のスレッドが使用可能になります。 このオプションを -t フラグと一緒に使用することはできません。
-t #SMT プロセッサーごとの同時スレッド数を設定します。この値を 1 に設定して同時マルチスレッド化を使用不可にすることができます。 2Way 同時マルチスレッド化をサポートするシステムの場合はこの値を 2 に設定し、4Way 同時 マルチスレッド化をサポートするシステムの場合は この値を 4 に設定することができます。
-w boot 次のシステム・リブートの前に bosboot コマンドを実行する場合、次回とそれ以降のリブート時に 同時マルチスレッド化モードの変更を有効にします。
-w now 同時マルチスレッド化モードの変更を即時に有効にしますが、リブート以後は持続しません。

-w boot オプションまたは -w now オプションが指定された場合、モード変更はすぐに行われ、次のシステム・リブートの前に bosboot コマンドが実行された場合、後続のリブート以後も持続します。

-m limit 同時マルチスレッド化のスレッドの数を 2 つに制限するか、-t フラグが使用されている場合は指定の値に制限して、より多くのプロセッサー・ノード (使用可能な場合) を次回のリブート時に有効にします (ブート・イメージを再構築するために bosboot を実行する必要があります)。この制限は実行時には動的に変更することはできず、作動状態を変更するためにリブートする必要があります。
-m suspend 同時マルチスレッド化機能を中断し、より多くのプロセッサー・ノード (使用可能な場合) を次回のリブート時に有効にします (ブート・イメージを再構築するために bosboot を実行する必要があります)。 この制限は実行時には動的に変更することはできず、作動状態を変更するためにリブートする必要があります。
変更の始め-m recommended変更の終わり スレッドの数を、基本物理プロセッサー・タイプに基づく、最も一般的なタイプのワークロードにおいて、最良のパフォーマンスを実現する値に設定します。 この設定は、すぐに適用されます。 次のブートで新しい値の使用が開始されるよう、設定することもできます。
オプションを 1 つも指定しない場合は、以下の同時マルチスレッド化設定値が報告されます。
項目 説明
SMT Capability 物理または仮想プロセッサーが同時マルチスレッド化可能であることを示すインジケーター。
SMT Mode disabled または enabled の現行ランタイム 同時マルチスレッド化 モード。
SMT Boot Mode disabled または enabled の現行ブート時 同時マルチスレッド化 モード。
SMT Threads 物理または仮想プロセッサー当たりの同時マルチスレッド化スレッドの数。
SMT Bound 同時マルチスレッド化スレッドが同じ物理または仮想プロセッサーに結合されていることを示すインジケーター。
SMT Thread Capability システムでサポートされた物理プロセッサーまたは仮想プロセッサーごとの同時マルチスレッド化の 最大スレッド数。

終了状況

項目 説明
0 要求された操作を正常に完了しました。
>0 エラーが発生しました。

セキュリティー

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー 」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. 現在のブート・サイクルに同時マルチスレッド化を使用可能にするには、次のように入力します。
    smtctl -m on -w now
    システムは、以下のようなメッセージを表示します。
    smtctl: SMT is now enabled.
  2. 4Way までサポートするシステム上で 2Way 同時マルチスレッド化を使用可能にするには、 次のように入力します。
    smtctl -t 2 -w now
    システムは、以下のようなメッセージを表示します。
    smtctl: SMT is now enabled.
  3. 現在の同時マルチスレッド化モード設定値とプロセッサー情報を表示するには、次のように入力します。
    smtctl
    システムは、以下のようなメッセージを表示します。
    This system is SMT capable.
    
    This system supports up to 4 SMT threads per processor
    SMT is currently enabled.
    
    SMT boot mode is set to disabled.
    
    
    proc0 has 2 SMT threads
    Bind processor 0 is bound with proc0
    Bind processor 1 is bound with proc0
    
    
    proc2 has 2 SMT threads
    Bind processor 2 is bound with proc2
    Bind processor 3 is bound with proc2
  4. 現在のブート・サイクルおよび以降のすべてのブートに同時マルチスレッド化を使用不可にするには、次のように入力します。
    smtctl -m off
    システムは、以下のようなメッセージを表示します。
    smtctl: SMT is now disabled. It will persist across reboots if
            you run the bosboot command before the next reboot.
    現在のブート・サイクルおよび以降のブートの同時マルチスレッド化を使用不可にする もう 1 つの方法があります。 次のように入力します。
    smtctl -t 1
    注: ブート・イメージは、次回のリブートより前に bosboot コマンドで再作成する必要があります。

位置

/usr/sbin/smtctl

ファイル

項目 説明
/usr/sbin/smtctl smtctl コマンドが入っています。