Linux为一组进程保留一个处理器(dynamic地)

有没有办法排除正常调度的处理器?

也就是说,使用sched_setaffinity我可以指出一个线程应该运行在哪个处理器上,但是我正在寻找一种相反的方式。 也就是说,我想排除一个给定的处理器从正常调度,这样只有在那里显式调度的进程可以在那里运行。

我也知道,在启动过程中,我可以限制init进程使用的处理器,从而全部inheritance进程。 然而,我希望能有一个比这更dynamic的解决scheme – 我可以改变后启动。


请注意,我期望安排线程,而不仅仅是高级进程(这可能在某些情况下有所不同)。

Solutions Collecting From Web of "Linux为一组进程保留一个处理器(dynamic地)"

cgroups,特别是cgroups基础结构的cpuset部分是在Linux中完成的。 请参阅http://www.kernel.org/doc/Documentation/cgroups/cpusets.txt中的第1.4节“独占垃圾邮件”。

再次,如果您在评论中说,您的系统没有启用cpusets,那么您的运气不好。

而且,你所要求的也许有点不正统, 也许如果你要解释你实际上想要达到的目标,那么人们就能够指出另外的解决方案。