Linuxでプロセスの排他性を設定する

Linuxでプロセスの排他性を設定する

プロセスのパフォーマンスを測定しようとしています。私は毎回同じことを行う必要がある小さなシングルスレッドの決定的なコードに対して広範なパフォーマンス測定を行いました。

他のプロセスのスケジューリング、コンテキスト切り替えなどによってパフォーマンスの変動が発生するかどうかをテストするために、このプロセスに対するプロセッサの排他使用を設定したいと思います。私はそれがどのコアで実行され続けるか気にしないので、好みに興味はありません。私が本当に興味を持っているのは、シングルスレッドプロセスがどのコアであるかに関係なく、実行中のコアに排他的にアクセスできることです。可能ですか?私は「良い」ことが私が望むものを達成するとは思わない。なぜならそれは私が優先順位を定めることができるだけだからだ。同じ優先順位を持つ他のタスクのいくつかは、私のプロセスとプロセッサの時間を共有することです。また、私のプロセスがキューで待たなければならないかどうかには興味がありません。実行が始まると中断されないことを確認したいと思います。

ありがとう

ベストアンサー1

いつでもtaskset -c 0を使用して、中断することなく目的のプロセスを最初のコアに設定し、他のすべてのプロセスが他のコアを使用するように設定できます。 IMHOは非効率的に聞こえますが、必要な操作を行います。

おすすめ記事