标签:linux linux-kernel scheduled-tasks
有没有办法将处理器从正常调度中排除?
也就是说,使用sched_setaffinity我可以指出一个线程应该在哪个处理器上运行,但我正在寻找一种反向的.也就是说,我想从正常调度中排除给定处理器,以便只有那里已经明确调度的进程才能在那里运行.
我也知道在启动过程中我可以限制init进程使用的处理器,因此所有继承的进程都是如此.然而,我希望有一个比这更动态的解决方案 – 我可以在启动后更改.
请注意,我正在寻找线程,而不仅仅是高级进程(在某些情况下这可能会有所不同).
解决方法:
cgroups,或者具体地说,cgroups基础结构的cpuset部分是在Linux中实现它的方法.请参阅http://www.kernel.org/doc/Documentation/cgroups/cpusets.txt中的1.4节“独占cpusets”.
再说一遍,如果正如你在评论中所说的那样,你的系统没有启用cpusets,那你就不走运了.
而且,你所要求的也许是略微不正统的;也许如果你要解释你实际上想要实现的目标,那么人们就能指出你的替代解决方案.
标签:linux,linux-kernel,scheduled-tasks 来源: https://codeday.me/bug/20190626/1294979.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。