2013-03-16 7 views
13

LinuxのプロセスのCPUアフィニティを起動時に設定したい。プロセスのcpuアフィニティをlinuxの最初から設定する

sched_setaffinityやtasksetなどのメソッドがありますが、プロセスのprocessidが必要です。コアでプロセスが開始されたように潜在的な移行を引き起こす可能性がありますが、sched_setaffinity/tasksetの使用後に別のコアに移行されました。

私がやりたいことは、最初から特定のコアで新しいプロセスを開始することです。

+0

なぜそれをしたいですか?多くの場合、カーネルは、あなたがタスクを実行するためにコアを選択するよりも優れています。 –

+0

私はプロセスをチェックポイントするチェックポイントモジュールに取り組んでいます。私は、このプロセスのCPUアフィニティ情報を保存し、同じ親和性で最後のチェックポイントからこのプロセスを開始します。 –

答えて

18

tasksetは、実行中のプロセスの親和性を設定するか、特定の親和性でプロセスを起動するために、

概要

taskset [options] mask command [arg]... 
taskset [options] -p [mask] pid 

以下コマンド1 & 2(または0および1)CPUは、Google Chromeブラウザを起動します。マスクは0×00000003で、コマンドは「google-chrome」です。

taskset 0×00000003 google-chrome 
+0

情報に感謝します。それを確認して作業しましょう。 (特に私はカーネルレベルでタスクセットの内部作業を見たい) –

関連する問題