在启动系统时,在linux(debian)中为init进程设置亲和掩码的最方便的方法是什么?
我知道taskset,但是我想为init启动时设置亲和性掩码,所以所有进程都会inheritance它。
谢谢。
尝试“isolcpus”内核启动参数。 您可以列出您希望调度程序忽略的CPU; 未列出的CPU将有效地为init及其所有子项形成掩码。 然后,您可以通过运行taskset来将一个进程放置在忽略的CPU上。
你想通过绑定初始化和它的subprocess到一个特定的CPU来完成什么? 是否有另一个应用程序希望运行以隔离系统进程与应用程序CPU资源? 如果是这样,你可能要考虑build立CPU盾牌。 实时Linux发行版中有可用的实用程序,但是您可以尝试下列CPU集(cset)实用程序:
https://rt.wiki.kernel.org/index.php/Cpuset_management_utility/tutorial
默认情况下,创build一个shield将把所有的进程放在一个集合中,允许你定义哪些重要的进程应该移到后面定义的集合中。
这是接近你在找什么?
如果你只是想让你的机器启动速度较慢,那么可以尝试将一些内存拉出来,或者将硬盘取下来禁用DMA。
由于init是系统中每个进程的最高级别,所以启动时的亲和力意味着你为每一个进程设定了亲和力 – 当然你想要比这更有select性吗?
也许如果你通过设置亲和力来提供更多关于你想要实现的信息,那么可以做出明智的答案。