CPU 中的进程 运行 离线时会发生什么

What happens to a process running in a CPU when it goes offline

我使用命令

确定 CPUs 离线
echo 0 > /sys/devices/system/cpu/cpu$cpu/online

Post 我的 nprocgrep "processor" /proc/cpuinfolscpu 确认 CPU 离线。在这种情况下:

  1. 固定到那个 CPU 的进程会发生什么情况(期望终止/迁移到另一个 CPU 吗?)
  2. CPU 中 运行 的进程发生了什么(它会迁移到另一个 CPU 吗?)

没有进程被终止,那将是一种伤害。
当 CPU 离线时,它的任务被迁移:

All processes are migrated away from this outgoing CPU to new CPUs. The new CPU is chosen from each process’ current cpuset, which may be a subset of all online CPUs.

来自Official Kernel documentation

这留下了固定到特定 CPU 的任务的问题。您可以 dig into the kernel 看到回退是从离线 CPU.
取消固定这些任务 他们的新亲和掩码设置为所有可能的 CPUs.