【问题标题】:What happens to a process running in a CPU when it goes offline脱机时在 CPU 中运行的进程会发生什么
【发布时间】:2020-06-30 13:27:07
【问题描述】:

我使用命令使某些 CPU 下线

echo 0 > /sys/devices/system/cpu/cpu$cpu/online

发布我的nprocgrep "processor" /proc/cpuinfolscpu 确认 CPU 处于离线状态。在这种情况下:

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

【问题讨论】:

    标签: linux linux-kernel cpu cpu-usage


    【解决方案1】:

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

    所有进程都从这个传出的 CPU 迁移到新的 CPU。新的 CPU 是从每个进程的当前 cpuset 中选择的,它可能是所有在线 CPU 的子集。

    来自Official Kernel documentation

    这留下了固定到特定 CPU 的任务的问题。您可以dig into the kernel 看到回退是从脱机 CPU 中取消固定这些任务。
    他们的新关联掩码设置为所有可能的 CPU。

    【讨论】:

      猜你喜欢
      • 2011-07-06
      • 2021-10-29
      • 1970-01-01
      • 2021-07-19
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      相关资源
      最近更新 更多