重启后,许多进程在独立的 CPU 中运行

重启后,许多进程在独立的 CPU 中运行

此问题来自堆栈溢出因为它在那里被标记为离题

我正在ubuntu 22.04使用内核运行vmlinuz-5.19.0-35-generic。我通过编辑隔离了几个 CPU /etc/default/grub,并做了sudo update-grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash isolcpus=4-7"

然而,在我重新启动系统之后,我看到很多进程已经在其中一个隔离的CPU上运行,包括一些dockerdsystemd进程。

(我已重启多次并观察到同样的情况)

我还检查/proc/cmdlindmesg。它确实显示isolcpus在命令行中。

有 bug 吗?

附言:

  1. 我还发现有人说相似的,但不知道它们是否相关。

  2. 有一个页面如何隔离 CPU。在讨论使用的方法时isolcpus,它仍然要求使用csetping docker 和 kubepods 到未屏蔽的 cpu。这是否意味着docker通常不会尊重isolcpus设置?

答案1

Isolcpus 并没有像我预期的那样工作。我在这里找到了答案。该主题的两个关键点是:

目前看来,isolcpus= 仅影响用户空间线程,因此内核线程将出现在隔离的 CPU 上。

总而言之,Ubuntu 并没有忽略该选项,它按预期运行。至于它是否按预期运行,则是另一个问题。

相关内容