LinuxのクアッドコアプロセッサでCPUコアを無効にする

LinuxのクアッドコアプロセッサでCPUコアを無効にする

3つのCPUコアを無効にし、プロセッサを単一のコアで実行したいと思います。私は次のコマンドを使用しました:maxcpus=1。しかしその後、私はこのコマンドを実行しましたls /sys/devices/system/cpu。それでも表示されますcpu0,cpu1,cpu2,cpu3

私も試しましたが、echo 0 > /sys/devices/system/cpu3/online次のエラーが発生しましたno such file or directory

答え1

〜のようにPatrickがコメントから指摘しました。、パスが/sys正しくありません。

echo 0 > /sys/devices/system/cpu/cpu3/online

以下を除くすべてのCPUをシャットダウンする場合cpu0

for x in /sys/devices/system/cpu/cpu[1-9]*/online; do
  echo 0 >"$x"
done

シェルプロンプトにこれを入力してもmaxcpus=1効果はありません。より正確には、変数をシェルのmaxcpus値に設定しますが、1これは他の効果はありません。maxcpusパラメータを渡すことで、起動時にCPUの数を設定できます。カーネルパラメータ。これを行うには、ブートローダの設定を変更する必要があります(たとえば、U-Bootのカーネルコマンドラインの変更)。

答え2

あなたはそうではないかもしれません閉じるまたは障害を負うコア。

あなたは使用します中央処理ユニットそしてワークセット

http://man7.org/linux/man-pages/man7/cpuset.7.html

cpuset は CPU とメモリノードのリストを定義します。

cpusetファイルシステムは、プロセスのプロセッサ配置とメモリ配置を制御するために使用されるカーネルcpusetメカニズムへの擬似ファイルシステムインタフェースです。通常は/dev/cpusetにインストールされます。

カーネルが組み込まれたcpusetサポートでコンパイルされるシステムでは、すべてのプロセスがcpusetにリンクされ、cpusetは常に存在します。システムがcpusetをサポートしている場合は、/proc/filesystemsファイルにnodev cpusetエントリがあります。 cpusetファイルシステムをマウントすることによって(以下の例のセクションを参照)、管理者はシステム内のプロセスのプロセッサとメモリレイアウトを制御するようにシステムにcpusetを設定できます。デフォルトでは、システムのcpuset構成が変更されない場合、またはcpusetファイルシステムがマウントされていない場合、cpusetメカニズムは存在しますが、システムの動作には影響しません。

システムのCPUには、パッケージ内の複数のプロセッサコアと、プロセッサコア(存在する場合)内のハイパースレッディングを含むプロセスを実行できるすべての論理処理ユニットが含まれています。メモリノードは、様々な主メモリバンクの全てを含む。小型およびSMPシステムには通常、システム内のすべてのメインメモリを含む1つのメモリノードしかありませんが、非均一メモリアクセス(NUMA)システムには複数のメモリノードがあります。

つまり、1 6 個のコア CPU がある場合は CPUSet を構成し、中央処理ユニット1つのコア(たとえば、コア#3)にのみ設定します。並列プロセスの場合は、すべて1つのコアに制限されます。したがって、1つのコアのみが定義されている特定のCPUsetで4つのプロセスを開始すると、4つのプロセスのそれぞれがコア#3に配置され、25%のCPUが得られます。利用。

これに基づいて、一般的に起こるものは次のとおりです。中央処理ユニット次のように設定

  • たとえば、200を超えるコアシステムでは、cpusetAはコア0..60(位置に関係なく)、cpusetBはコア61..70、cpusetCはコア71..80です。ただし、管理者/アーキテクチャは教師が選択します。構成。
  • cpusetAは、特定のユーザーおよび/または特定のソフトウェアプログラムに割り当てられます。
  • ユーザーは要求するアクション(プロセス)を開始します。窒素コア...与えられたCPUセット内で、これらの複数の(並列)プロセスは限られた与えられたCPUセットに。そしてそのような人々にとって窒素並列性は特定のCPUセットに制限され、各プロセスは以下を利用する必要があります。プロセッサの好みまたはCPUの好みしたがって、これらの並列プロセスは、cpuset内の他のコアでは衝突しません。

返品:https://linux.die.net/man/1/tasksset

関連情報