如何将不同的 CPU 内核分配给不同的进程?

Oto*_*ris 7 server multi-core cpu

我使用的是 Ubuntu Server Edition 11.10,并且有两个 CPU 密集型程序在同一个内核上运行。这些进程都没有针对多核处理进行编程。有没有办法告诉进程 A 在核心 1 上运行,进程 B 在核心 2 上运行?

小智 6

接受的答案可能是很好的建议,但它肯定不是您问题的答案。你的问题也不向我表明你没有资格听到答案,事实上,这听起来像是一个很好的例子,在这种情况下,你想明确指出哪些处理器应该做什么。

说到点子上,你想要的是 CPU 集。它们在 Ubuntu 11.10 中得到支持,因为它使用了足够新的 Linux 内核。我相信 Linux 2.6 是必需的。

您可以在此处阅读 cpuset 的手册页:http ://www.kernel.org/doc/man-pages/online/pages/man7/cpuset.7.html

这是一般阅读的另一个页面:http : //www.bullopensource.org/cpuset/

Linux 在决定如何分配 CPU 时间方面可能“很棒”,但它并不完美。