smtctl コマンド
目的
smtctl コマンドは、プロセッサーの 同時マルチスレッド化 モードの有効化と無効化を制御します。
構文
SMTCTL [ -m オフ | オン [ -w ブート | 現在 ]]
smtctl [-t #SMT [-w boot | 現在 ]]
smtctl [-m suspend [-w boot ]]
説明
このコマンドは、特権ユーザーおよびアプリケーションが 同時マルチスレッド化 サポートを使用してプロセッサーの使用率を制御するために提供されます。 同時マルチスレッド化 モードでは、プロセッサーは命令レベルでスレッド・レベルの並列処理を行うことができます。 このモードは、即時に、または次のシステム・ブート時に、すべてのプロセッサーを使用可能または使用不可にすることができます。 このコマンドは、 同時マルチスレッド化 オプションを制御します。
物理プロセッサー・コアの個々の同時マルチスレッド化 (SMT) スレッドは、 AIX®によって独立した論理プロセッサーとして扱われます。 AIX オペレーティング・システムは、 AIXに割り当てられたすべての物理プロセッサー・コア間で対称性を維持するために、割り当てられた物理プロセッサー・コアと SMT モードの組み合わせを制限します。 この制限のため、論理プロセッサーの数は、 AIX 7.1 の場合は 1024 以下、 AIX 6.1の場合は 256 以下になります。
POWER8プロセッサーはSMT-8可能で、SMT-8モードでは最大 128 コアを使用でき、1024 個の論理プロセッサーが得られます。 128 個を超える POWER8 コアを AIX ユーザーが使用できるようにするには、下位の SMT モードを使用する必要があります。
- スレッドの数。
- P8 論理パーティション (LPAR) をブートする場合、SMT スレッドのデフォルト数は 4 です。 SMT スレッドのデフォルト数を動的に増やすには、次のように入力します。
SMT-8 への変更はすぐに有効になります。リブートは不要です。 リブート後も設定が持続するようにするには、bosboot コマンドを使用してブート・イメージを再構築する必要があります。 デフォルトの SMT-4 は、4 つを超えるスレッド用に設計またはコンパイルされていない既存のアプリケーションのパフォーマンス向上を目的としています。smtctl -m on smtctl -t 8 - コアの数
- 1 つの LPAR に 128 個を超えるコアを割り振ると、デフォルトによって 128 個のコアが使用されます。 これは、 SMT-8 が使用可能になっている場合 (128 コア * SMT8 = 合計 1024) に、 AIX の論理プロセッサーの最大数 1024 の制限を超えないようにするためです。 1 つの LPAR で 128 個を超えるコアを使用する場合は、以下の一連の AIX コマンドを実行して、コアごとに使用可能な SMT スレッドの数に制限を設定する必要があります。
リブート時に、 AIX はファームウェアとネゴシエーションして、最大 256 個のコアを使用できるようにします。これは、オペレーティング・システムの 1024 個のプロセッサーの制限が、指定された 4 個の SMT スレッドの制限を超えないためです。 上記のように smtctl コマンドを実行すると、256 コアを超えることができますが、4 コアではなく 2 コアに制限されます。 以下のコマンドは、より多くのコアを許可する SMT 機能を中断します。smtctl -m limit -t 4 bosboot -a shutdown -Frsmtctl -m suspend bosboot -a shutdown -Fr
フラグ
| 項目 | 説明 |
|---|---|
| -m オフ | 「同時マルチスレッド化」 モードを disabledに設定します。 このオプションを -t フラグと一緒に使用することはできません。 |
| -m on (オン) | 「同時マルチスレッド化」 モードを enabledに設定します。 -m フラグを使用すると、プロセッサーごとにサポートされる最大数のスレッドが使用可能になります。 このオプションを -t フラグと一緒に使用することはできません。 |
| -t #SMT | プロセッサーごとの同時スレッド数を設定します。 この値を 1 に設定して同時マルチスレッド化を使用不可にすることができます。 2Way 同時マルチスレッド化をサポートするシステムの場合はこの値を 2 に設定し、4Way 同時 マルチスレッド化をサポートするシステムの場合は この値を 4 に設定することができます。 |
| -w ブート | 次のシステム・リブートの前に bosboot コマンドを実行すると、次回以降のリブート時に 同時マルチスレッド化 モードの変更が有効になります。 |
| -w 今すぐ (-w now) | 同時マルチスレッド化 モードの変更を即時に行いますが、リブートしても持続しません。 -w boot オプションまたは -w now オプションが指定された場合、モード変更はすぐに行われ、次のシステム・リブートの前に bosboot コマンドが実行された場合、後続のリブート以後も持続します。 |
| -m 制限 | 同時マルチスレッド化のスレッドの数を 2 つに制限するか、-t フラグが使用されている場合は指定の値に制限して、より多くのプロセッサー・ノード (使用可能な場合) を次回のリブート時に有効にします (ブート・イメージを再構築するために bosboot を実行する必要があります)。 この制限は実行時には動的に変更することはできず、作動状態を変更するためにリブートする必要があります。 |
| -Mサスペンド | 同時マルチスレッド化機能を中断し、より多くのプロセッサー・ノード (使用可能な場合) を次回のリブート時に有効にします (ブート・イメージを再構築するために bosboot を実行する必要があります)。 この制限は実行時には動的に変更することはできず、作動状態を変更するためにリブートする必要があります。 |
| -m 推奨 | スレッドの値を、基本物理プロセッサー・タイプに基づく、最も一般的なタイプのワークロードのベスト・パフォーマンスを実現する値に設定します。 この設定は、すぐに適用されます。 -w を指定して、新しい値の使用を開始することもできます。 |
オプションを指定しない場合、以下の 同時マルチスレッド化 設定が報告されます。
| 項目 | 説明 |
|---|---|
| SMT Capability | 物理プロセッサーまたは仮想プロセッサーが 同時マルチスレッド化が可能であることを示します。 |
| SMT Mode | disabled または enabledの現在のランタイム 同時マルチスレッド化 モード。 |
| SMT Boot Mode | disabled または enabledの 同時マルチスレッド化 モードの現在のブート時間。 |
| SMT Threads | 物理プロセッサーまたは仮想プロセッサーごとの 同時マルチスレッド化 スレッドの数。 |
| SMT Bound | 同時マルチスレッド化 スレッドが同じ物理プロセッサーまたは仮想プロセッサーにバインドされていることを示します。 |
| SMT Thread Capability | システムでサポートされた物理プロセッサーまたは仮想プロセッサーごとの同時マルチスレッド化の 最大スレッド数。 |
終了状況
| 項目 | 説明 |
|---|---|
| 0 | 要求された操作を正常に完了しました。 |
| >0 | エラーが発生しました。 |
セキュリティー
RBACユーザーおよびTrustedAIXユーザーに注意:このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限と特権の詳細については、セキュリティの特権コマンドデータベースを参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。
例
- 現在のブート・サイクルで 同時マルチスレッド化 を使用可能にするには、次のように入力します。
システムは、以下のようなメッセージを表示します。smtctl -m on -w nowsmtctl: SMT is now enabled. - 最大 4 つの方法をサポートするシステムで 2 方向 同時マルチスレッド化 を使用可能にするには、次のように入力します。
システムは、以下のようなメッセージを表示します。smtctl -t 2 -w nowsmtctl: SMT is now enabled. - 現行の 同時マルチスレッド化 モード設定およびプロセッサー情報を表示するには、次のように入力します。
システムは、以下のようなメッセージを表示します。smtctlThis 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 - 現行のブート・サイクルおよび後続のすべてのブートに対して 同時マルチスレッド化 を使用不可にするには、次のように入力します。
システムは、以下のようなメッセージを表示します。smtctl -m off
現在のブート・サイクルおよび以降のブートの同時マルチスレッド化を使用不可にする もう 1 つの方法があります。 次のように入力します。smtctl: SMT is now disabled. It will persist across reboots if you run the bosboot command before the next reboot.smtctl -t 1注: 次回のリブートの前に、 bosboot コマンドを使用してブート・イメージを再作成する必要があります。
ロケーション
/usr/sbin/smtctl
ファイル
| 項目 | 説明 |
|---|---|
| /usr/sbin/smtctl | smtctl コマンドが入っています。 |