多CPU核心上的Swapper任务

时间:2013-10-03 07:48:20

标签: linux

我在Linux中有一个关于swapper任务(空闲任务)的查询。我的系统有16个CPU内核。使用taskstats,我可以发现swapper任务正在核心0上运行。 我的印象是每个CPU核心都需要交换器任务才能在该CPU没有其他可运行任务时运行。如果它是真的那么为什么swapper任务只显示在cpu0上运行,如果它错了那么当没有可运行的任务时,其余的cpu核心会做什么?

期待您的帮助。感谢。

1 个答案:

答案 0 :(得分:1)

正如您所说,空闲任务作业是在没有其他任何东西要运行的情况下运行,因此CPU不会用完指令。

这意味着在具有单核的系统上,空闲进程确保CPU始终有事可做,因此它不会停止。

在多CPU /核心系统上同样如此,但是有些CPU允许系统将一些内核置于空闲模式以节省电量。在这种情况下,您只需要使用空闲进程保持单个核心处于活动状态,因为当内核切换到该核心时,它可以按需唤醒更多核心。

请注意,以上是整个事实的简化版本。只要相信内核做正确的事情,它通常知道它在做什么,并且只想要最适合你的东西: - )