ubuntuがインストールされているマシンでLinux 2.6.xカーネルを使用しています(これが何かを変更する場合に備えて、Ubuntuについて言及しています)。カーネルは、8 コアのマシンで実行されます。マシンはopenvzも実行しますが、これが質問の文脈を変えるとは思いません。
2 つの CPU の使用のみを許可するソフトウェアをインストールしており、最初の両方の CPU (cpumask 3) にハード CPU アフィニティを設定しています。これにより、他のプロセスのスケジューリングがどのように影響を受けるかを自問しています。私はそれについて何か読んだと思いますが、今のところ、プロセスは最初の CPU に接続される可能性が高いと思います。また、カーネルは、キャッシュの無効化を回避するために、プロセスを常に同じ CPU に保持しようとします。
マシン上では、かなりの数のプロセスが実行されています。カーネルはこの状況をどのように処理しますか? 混雑したゾーンにバインドされている間に影響を受けるため、CPU アフィニティ プロセスの実行が遅くなるのは難しいのでしょうか? カーネルはハード アフィニティをどのように考慮しますか。