我正在为linux x86-64模拟qemu。在qemu虚拟机中,我正在使用
taskset -c 0 prc1 & taskset -c 1 prc2 & taskset -c 2 prc3 & taskset -c 3 prc4;
同时发出4个进程并将它们绑定到4个核心(prc是进程的简称)。但是,我发现一旦他们开始跑步;然后,在中间,一些核心(比如说1和2)不执行这些进程,而是空闲或做其他事情。您能否建议,这可能是什么原因或改进方式,以便我可以确保流程不会从一个核心迁移到另一个核心。
答案 0 :(得分:1)
流程不会从一个核心迁移到另一个核心。每当他们需要CPU时,他们只会获得你绑定它们的核心。这不会阻止CPU进行其他工作,也不会以某种方式迫使进程使用核心,即使它无法运行,比如因为它正在等待I / O.