cpu(1) Concurrent RedHawk Linux cpu(1)
名前
cpu − 現在のCPU状態の変更、あるいは問い合わせ
概要
cpu [OPTIONS]
記述
cpu コマンドは、CPUの状態を表示し、1つあるいはそれ以上のCPUをアップ(アクティブ)、あるいはダウン(非アクティブ)に設定します。
また、cpuコマンドは、CPU毎のキャッシュインフォメーションを表示することが出来ます。
ハイパースレッドか、あるいはマルチコアシステムの"保護されたCPU"の論理的な兄弟をダウンさせ、クリティカルでない仕事を"保護されないCPU"に押しやることによって、"保護されたCPU"の決定論(デターミニズム: determinism)を最大にします。
オプションなしで、cpuコマンドを実行すると、それぞれの論理的なCPUのシールド状態と共に、物理CPUチップID、(マルチコアシステム上では)CPUコアID、(ハイパースレッドのシステムでは)ハイパースレッドIDとハイパースレッドの兄弟IDのアップ/ダウンの表示が行われます。
コマンドラインで指定されるCPUは論理的なCPU番号を示します。 CPUを作動させるか、あるいは活動を停止するためには、あなたがルートであるか、あるいはCAP_SYS_NICE 権限を持っていなくてはなりません。
ダウンとマークされたCPUは、同期化のプロセッサ間割込みを処理し続けることに注意してください。 また、 ダウンさせたCPUから移動できないCPU毎のカーネルデーモン(例えば ksoftirqd/0、migration/0)は、アクティブではありません。cpuコマンドでダウンさせた結果は、CPU保護要求(shield(1)参照)の前と後で変わらず残っています。
この機能は、対称マルチプロセッシングサポート(SMP)、”保護されたCPU”(SHIELD)とCPU強制ダウン(CPU_DOWNING)がカーネルで設定されている場合に利用出来ます。
オプション
--up=CPULIST, -u CPULIST
CPULISTのすべてのCPUをアップします(活性化します)。
--down=CPULIST, -d CPULIST
CPULISTのすべてのCPUをダウンします(非活性化します)。
--compat, -c
マルチコアに拡張される以前のディスプレイモードでデータを表示します、CPUの論理ID(物理ID),状態、保護状態だけを表示します。
ユーザー環境変数 CPU_FORMAT_VERSION=1をセットすると、これをデフォルトディスプレイモードにします。
--phys, -p
論理的なCPU番号を物理的な属性(チップ / コア / ハイパースレッド)でソートし表示します。
--parse, -P
パーシングするための、フォーマットで表示します。 フィールドはタブで分割されています、そして見出しは表示されません。
--quiet, -q
CPUをアップ/ダウンさせた場合の自動的に表示される結果出力を抑制します。
--reset, -r
総てのCPUのアップ/ダウン属性をリセットします。 すべてのCPUはアップになります。
--cache, -C
CPU毎の キャッシュインフォメーションを表示します。 それぞれのCPUのキャッシュを共有するキャッシュレベル、タイプ、サイズがこの表示に含められます。(この情報は、古いプロセッサでは利用できません。)
--help, -h
利用可能なオプションと使用法を説明します。
--version, -v
コマンドの現在のバージョンを表示します。
上記オプションで、 CPULIST は論理的なCPU番号を反映するコンマで分離された値あるいは範囲値のリストです。 例えば、”cpu 0,1-4,7"のリストは、次のCPUID番号を指定します:0,1,2,3,4,7
i386 システムで、ハイパースレッディングが使用不能である場合には、論理名=チップIDです。
例
以下の例では、それぞれがデュアルコアで、ハイパースレッドの2チップ上でCPU1に対してプロセスとIRQとローカルタイマーの保護属性を与えた、システム総てのCPUの状態が表示されています。cpu コマンドを実行させるシステムのタイプでは適用できないコラムの下には、ダッシュが表示されることに注意してください。
$ cpu |
||||||
cpu |
chip |
core |
ht |
ht-siblings |
state |
shielding |
--- |
---- |
---- |
-- |
----------- |
----- |
--------- |
0 |
0 |
0 |
0 |
4 |
up |
none |
1 |
1 |
1 |
0 |
5 |
up |
proc irq ltmr |
2 |
0 |
1 |
0 |
6 |
up |
none |
3 |
1 |
0 |
0 |
7 |
up |
none |
4 |
0 |
0 |
1 |
0 |
up |
none |
5 |
1 |
1 |
1 |
1 |
up |
none |
6 |
0 |
1 |
1 |
2 |
up |
none |
7 |
1 |
0 |
1 |
3 |
up |
none |
この例では、CPU2をダウンするために、以下のコマンドが使用されます:
$ cpu –d2 |
||||||
cpu |
chip |
core |
ht |
ht-siblings |
state |
shielding |
--- |
---- |
---- |
-- |
----------- |
----- |
--------- |
0 |
0 |
0 |
0 |
4 |
up |
none |
1 |
1 |
1 |
0 |
5 |
up |
proc irq ltmr |
2 |
0 |
1 |
0 |
6 |
down |
none |
3 |
1 |
0 |
0 |
7 |
up |
none |
4 |
0 |
0 |
1 |
0 |
up |
none |
5 |
1 |
1 |
1 |
1 |
up |
none |
6 |
0 |
1 |
1 |
2 |
up |
none |
7 |
1 |
0 |
1 |
3 |
up |
none |
戻り値 / エラー
cpu コマンドが成功の場合には0,失敗した場合には1が返されます。 無効なCPU指定は無視されます。cpu コマンドは次の条件の下で失敗します:
● SMP 、シールドあるいは CPU_DOWNING が現在実行中のカーネルでコンフィグされていない場合。
● プロセスあるいは IRQ のアフィニティがそのCPUだけをセットされている場合(このCPUを停止することはプロセスあるいはIRQの実行が不可能になるでしょう)。
● 同一のコマンドラインで同じCPUをアップして、そしてダウンさせた場合。
● CPU上でlocal_irq_disable(2)によってロックダウンされている場合。
● あなたがルートではないか、あるいは CAP_SYS_NICE 能力を持っていない場合CPUをダウンさせることは出来ません。
● 要求したリストの少なくとも1つがサービスを提供さすることができないとき、エラーが返されます。
警告
cpuコマンドの"ダウン"という用語は、CPUの処理を行わないと言う意味で、CPUのホットスワップをサポートしないことに注意してください。
参照
shield(1), local_irq_disable(2).
RedHawk Linux ユーザーガイド
著作権
Copyright (C) 2006 Concurrent Computer Corporation.
February 2006 cpu(1)