これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド hwloc-bind です。
プログラム:
NAME
hwloc-bind - 特定のプロセッサやメモリにバインドされたコマンドを起動します。または
既存のプログラムのバインディングを参照する
SYNOPSIS
hwloc バインド [オプション] [ [...] ] [ - ] ...
注意してください ヒューロック(7) hwloc システムと有効な hwloc システムの詳細な説明を提供します。
フォーマット。 このマニュアルページを読む前に読んでください。
OPTIONS
--cpubind CPU バインディングには次の引数を使用します (デフォルト)。
--メンバインド メモリ バインディングには次の引数を使用します。 もし --メンポリシー も与えられず、
デフォルトのポリシーはバインドです。
--メンポリシー
メモリ バインド ポリシーを変更します。 利用可能なポリシーはデフォルトです。
firsttouch、bind、interleave replicate、nexttouch。 このオプションはあくまで
実際のバインディングも指定されている場合に意味があります --メンバインド。 場合 --メンバインド is
なしで与えられる --メンポリシー、デフォルトのポリシーはバインドです。
- 得る 現在のバインディングを報告します。
コマンドが与えられると、コマンドを実行する前にバインディングが表示されます。
コマンドが指定されていない場合、プログラムは現在の値を表示した後に終了します。
バインディング。
と組み合わせると --メンバインド、CPU バインドではなくメモリ バインドを報告します。
バインディングは実行されないため、場所を指定することはできません。
-e --get-last-cpu-location
プロセスが実行された最後のプロセッサを報告します。 結果は次の場合があることに注意してください。
オペレーティング システムが
バインディングに従っていつでも他のプロセッサに処理を送信できます。
コマンドが与えられると、コマンドを実行する前に最後のプロセッサが表示されます。
指示。 コマンドが指定されていない場合、プログラムは最後のメッセージを表示した後に終了します。
プロセッサ。
このオプションは併用できません --メンバインド.
バインディングは実行されないため、場所を指定することはできません。
- 独身 移行を防ぐために単一の CPU にバインドします。
- 厳しい 厳密なバインドが必要です。
--pid
pid で操作する
-p - 物理的
論理インデックスの代わりに OS/物理インデックスを取得します
-l -論理的
物理/OS インデックスの代わりに論理インデックスを取得します (デフォルト)
-タスクセット taskset コマンドラインで認識される形式で CPU セット文字列を表示します。
hwloc 固有の CPU セット文字列形式の代わりにプログラムを使用します。 このオプションには何もありません
入力 CPU セット文字列の形式に影響を与えるため、両方の形式が常に受け入れられます。
- 制限
トポロジーを指定されたcpusetに制限します。
-システム全体
管理上の制限を考慮しないでください。
-f - 力
バインドが失敗した場合でも、実行可能ファイルを起動します。
-q - 静かな
致命的ではないエラー メッセージを非表示にします。 存在しない場所を指す場所が含まれています
オブジェクト、およびバインドの失敗。 これは通常、次のことに加えて便利です
- 力.
-v -詳細
詳細な出力。
- バージョン バージョンを報告して終了します。
DESCRIPTION
hwloc-bind は、
指定された場所 (または場所のリスト)。 実行に成功すると、hwloc-bind が実行されます。
バインディングを設定し、それ自体で実行可能ファイルを実行します。
バインディングが失敗した場合、またはバインディング セットが空の場合、 - 力 指定されませんでした、hwloc-bind
実行可能ファイルを起動せずにエラーを返します。
注: を読むことを強くお勧めします ヒューロック(7)読む前の概要ページ
このマニュアルページ。 で説明されている概念のほとんど ヒューロック(7)hwlocに直接適用-
バインドユーティリティ。
例
hwloc-bind の操作は、いくつかの例を通して最もよく説明されています。 詳しい方法については
場所は hwloc-bind コマンド ラインで指定されます。説明は次のとおりです。 ヒューロックとします。
XNUMX 番目のパッケージの最初の論理プロセッサで echo コマンドを実行するには、次の手順を実行します。
hwloc-bind package:1.pu:0 -- echo hello
これはまったく同じです
hwloc-bind package:1.pu:0 echo hello
「echo」コマンドを XNUMX 番目のパッケージの最初のコアと XNUMX 番目のパッケージの XNUMX 番目のコアにバインドするには、
最初のパッケージ:
hwloc-bind パッケージ:1.core:0 パッケージ:0.core:1 echo hello
「echo」コマンドを複数のプロセッサにバインドすることはおそらく無意味であることに注意してください。
(「echo」はシングルスレッド アプリケーションとして実装される可能性が高いため); これらの例
hwloc-bind で何ができるかを示すだけです。
最初の XNUMX つのパッケージを XNUMX 番目と XNUMX 番目のノードで実行するには、次のようにします。
hwloc-bind ノード:1-2.パッケージ:0:3 echo hello
これは次と同等です。
hwloc-bind ノード:1-2.パッケージ:0-2 echo hello
存在しないオブジェクトにバインドしようとしても、hwloc-bind は警告を発しないことに注意してください。
ない限り、 -v 指定されました。
物理インデックス 2 のパッケージ内の物理インデックス 1 のプロセッサ上で実行するには:
hwloc-bind --physical package:1.core:2 echo hello
偶数パッケージ内の奇数コアで実行するには:
hwloc-bind パッケージ:even.core:odd echo hello
XNUMX 番目と XNUMX 番目のコアを除く最初のパッケージで実行するには、次のようにします。
hwloc-bind パッケージ:0 ~パッケージ:0.core:1 ~パッケージ:0.core:4 echo hello
最初のパッケージ以外の場所で実行するには:
hwloc-bind all ~package:0 echo hello
eth0 という名前のネットワーク インターフェイスの近くのコアで実行するには:
hwloc-bind os=eth0 エコーハロー
バス ID が 0000:01:02.0 の PCI デバイスの近くのコアで実行するには:
hwloc-bind pci=0000:01:02.0 echo hello
XNUMX 番目のメモリ ノードにメモリをバインドし、最初のノードで実行するには (OS でサポートされている場合):
hwloc-bind --cpubind ノード:1 --membind ノード:0 echo hello
--get オプションを使用すると、現在のバインディングをレポートできます。 この例は、hwloc-bind のネストを示しています
バインディングを設定して報告するための呼び出し:
hwloc-bind ノード:1.パッケージ:2 hwloc-bind --get
hwloc 開発者のマシンの 0 つでは、この例では「00004444,0x44000000xXNUMX」が報告されます。
ご使用のマシンで報告されるマスクは異なる場合があります。
場所は XNUMX 進数ビット マスク (通常は hwloc-calc によって生成される) として指定することもできます。
具体的な例を挙げますと、以下の通りです。
hwloc-bind 0x00004444,0x44000000 エコー ハロー
hwloc-bind `hwloc-calc ノード:1.パッケージ:2` echo hello
メモリ バインディングも報告される場合があります。
hwloc-bind --membind ノード:1 --mempolicy interleave -- hwloc-bind --get --membind
これにより、「0x000000f0 (インターリーブ)」などのメモリ バインディングを説明する文字列が返されます。
システムに NUMA ノードが含まれていない場合、報告される文字列は次のようになります。
プロセスがシステム メモリ全体にバインドされていること (例: "0xf...f")。
HINT
グラフィックス対応の lstopo が利用可能な場合は、たとえば次のように使用します。
hwloc-bind core:2 -- lstopo --pid 0
バインディング コマンドの実際の結果を確認します。 lstopo はグラフィカルに表示されます
hwloc-bind によってバインドされている場所を表示します。
リターン VALUE
実行が成功すると、hwloc-bind はそれ自体でコマンドを実行します。 戻り値は
したがって、コマンドの戻り値が何であれ。
hwloc-bind は、次のような何らかのエラーが発生した場合にゼロ以外を返します (ただし、これに限定されません)。
コマンドラインの解析の失敗、プロセスバインディングの取得の失敗、または
実行するコマンド。
onworks.net サービスを使用してオンラインで hwloc-bind を使用する