我在安装了 ubuntu 的机器上使用了 linux 2.6.x 内核(只是提到了 Ubuntu,以防万一发生任何变化)。内核在具有 8 个内核的机器上运行。该机器也运行 openvz 但我认为这不会改变问题的上下文。
我安装了一个只允许使用两个 CPU 的软件,它在前两个 CPU(cpumask 3)上设置了硬 CPU 亲和性。我在问自己其他进程的调度如何受此影响。我想我读过一些关于它的东西,但我现在假设进程可能会连接到第一个 CPU。并且内核试图将进程始终保持在同一个 CPU 上,以避免缓存失效。
在机器上,有很多进程正在运行。内核如何处理这种情况?可能是硬 CPU 亲和进程运行速度较慢,因为它们在绑定到拥挤区域时受到影响?内核如何关心硬亲和性。