进程如何“选择”在哪个核心上运行?

进程如何“选择”在哪个核心上运行?

程序如何“选择”在哪个核心上运行?我的理解是操作系统决定在哪个核心上处理哪个程序。

应用示例

Firefox 的最后一个核心(i7 930 超线程)的 CPU 使用率突然大幅上升。所有其他核心几乎都没有使用率。

我不确定为什么最后这个核心被不必要地挑出来。我很好奇它是如何被挑出来的。通常前两个核心承担了程序处理的大部分任务。

答案1

你说得对。应用程序将在操作系统选择的任何核心上运行。你可以设置“亲和力“将应用程序分配给特定核心,告诉操作系统仅在该核心上运行该应用程序。据我所知,这不是一个好主意,但显然它的存在是有原因的;所以有时可能需要进行调整。

在 Windows 中,您可以使用任务管理器:

Right click on the process, and choose "**Set Affinity**". 

就其技术方面而言:

维基百科上有关调度的文章

相关内容