shield(1) Concurrent RedHawk Linux shield(1)
名前
shield − CPUシールディング属性をセット
概要
shield [OPTIONS]
解説
選択したCPUの保護属性をセットします。
shieldコマンドは、CPUに、”保護されたCPU”であるというマークを付けるために使われます。”保護されたCPU”は、アプリケーションコードを実行する際のジッターを排除するために、いくつかのシステム・アクティビティ・セットから保護するためのコマンドで、CPUを、プロセス、デバイス割込み、ローカルタイマー割込みから、保護することができます。
マルチノードの NUMA システムでは、ノード上のメモリは、そのノード上のCPUからだけ使用されるように保護することが出来ます。”保護されたCPU”の詳細は、shield(5)あるいは RedHawk Linux ユーザーズガイドを参照してください。
シールドコマンドの実行によって影響を受けるCPUのリストは、論理的なCPU番号をコンマで分離したあるいは、範囲の値のリストとして与えられます。
CPU番号は、 ハイパースレッディングがオフである時、論理=物理です。
ハイパースレッディングの詳細は、cpu(1)あるいは RedHawk Linux ユーザーズガイドを参照してください。
オプション
--irq=CPULIST, -i CPULIST
CPULISTで指示したCPUを、すべてのデバイス割込みから保護します。
唯一の例外は、他のいかなるCPUでも、実行不可能なCPUアフィニティを割り当てた場合です。
--loc=CPULIST, -l CPULIST
指定されたCPULISTはローカル割込みから保護されます。ローカル割込みは、CPUの時間ベースのサービスを提供しているため、 ローカル割り込みを停止させると、ユーザー / システム時間アカウンティングのようなシステムの機能とラウンドロビンスケジュールのクォンタム時間の到達を検出出来なくなるかもしれません(shield(5)参照)。
--proc=CPULIST, -p CPULIST
CPULISTに指定されたCPUは、無関係プロセスから保護されます。
“保護されたCPU”上で実行することを許可されたプロセスは、”保護されていないCPU”では、実行されません。
“保護されてないCPU”上で走ることの出来るアフィニティマスクを持っているプロセスとスレッドは、”保護されていないCPU”上で実行されます。
--all=CPULIST, -a CPULIST
CPULISTで指定されたCPUは、すべてのシールド属性を設定されます。 それぞれの保護属性を理解するために、上記のオプションの個々の記述を参照してください。
--help, -h
利用可能なオプションと使用法を説明します。
--version, -V
コマンドの現在のバージョンをプリントアウトします。
--reset, -r
すべてのCPUの保護属性をリセットします。 CPUは保護されません。
--current, -c
すべてのアクティブなCPUの最新の設定を表示します。
--mem=MEMSHIELD, -m MEMSHIELD
このオプションはNUMAノードメモリシールディングの制御と問い合わせに使われ、MEMSHIELD が”0”,”1,”,”q”が、それぞれディセーブル、イネーブル、問い合わせを意味します。メモリシールディングは、マルチノードの NUMA システムでだけ利用出来ます。 詳細は、memory_shielding(7)を参照してください。
上記オプションで、 CPULIST は論理的なCPUIDを表すコンマで分離された値、あるいは範囲のリストです。
例えば、CPULISTの”0,1-4,7”は、次のCPUID番号を指定します:0,1,2,3,4,7。
ハイパースレッディングがオフにされる時、論理名 = 物理です。
CPULIST のための”代わりの書式”がオプションとして NUMA 使用可能なシステムで使われるかもしれません。
この”代わりの書式”が使われるとき、すべての書式は同じでなくてなりません。
このフォーマットでは、“n”あるいは”c”の後に、それぞれの数あるいは範囲を指定しなくてはなりません。
“n”はノードに存在する、すべての CPU を意味します、そして”c”は cpu 番号を意味します。
例
次のコマンドは、最初に保護属性をすべてリセットし、CPU0,CPU1,CPU2を外部割込みから保護し、ローカル割込みから、CPU1を保護して、CPU2を無関係なプロセスから保護して、そして変更の後にすべての新しい設定を表示します:
shield -r -i 0-2 -l 1 -p 2 -c
次のコマンドはCPU0,1,2,3で割り込み、ローカル割込みと無関係なプロセスから保護します。 すべての保護属性がCPULISTにセットされます。
shield --all=0-3
次のコマンドは NUMAノードですべてのCPUを保護し、ローカル割込みからCPU1と4から6を保護し、無関係なプロセスからCPU2,3,とノード3を保護します。
shield -i n0-1 -l c1,c4-6 -p c2,c3,n3
終了ステータス
通常、終了ステータスはゼロです。 しかしもしエラーが、保護属性を修正する間に、発生したなら、診断メッセージが表示され、そして1の終了ステータスが返されます。
追加の記述
CPULIST で指定されたCPU番号の前に”+”あるいは、”-“の記号が与えられた場合には、”保護されたCPU”のリストに加えられる”+”か、あるいは、取り除かれ”-“ます。オプションは繰り返し使用できるため、 例えば、”shield -i 0 -c -i +1 –c”は、CPU0がデバイス割込みから保護された後、最新の設定を表示して、そして次に、CPU1が割込みから保護されたCPUのリストに加えられた後、再び最新の設定を表示します。
関連
shield(5), cpu(1), memory_shielding(7).
RedHawk Linux ユーザーズガイド
著作権
Copyright (C) 2002 Concurrent Computer Corporation.
March 2003 shield(1)