通常情况下,在 SMP 系统中,Linux 内核的进程调度器根据自有的调度策略将系统中的一个进程调度到某个 CPU 上执行.一个进程在前一个执行时间是在 cpuM(M 为系统中的某 CPU 的 ID)上运行,而在后一个执行时间是在 cpuN(N 为系统中另一 CPU 的 ID)上运行.这样的情况在 Linux 中是很可能发生的,因为 Linux 对进程执行的调度采用时间片法则(即进行用完自己的时间片即被暂停执行),而默认情况下,一个普通进程或线程的处理器亲和性是在所有可用的 CPU 上,有可能在…