2012-01-10 58 views
0

我正在模擬Linux x86-64的qemu。在QEMU虛擬機中,我使用qemu虛擬機內的taskset不按預期方式工作

taskset -c 0 prc1 & taskset -c 1 prc2 & taskset -c 2 prc3 & taskset -c 3 prc4; 

同時發出4點的過程和將它們綁定到四個核(PRC是用於短處理)。但是,我發現一旦他們開始跑步,然後,在之間,一些內核(比如1和2)不執行這些進程,而是閒置或做其他事情。你能建議,這可能是什麼原因或改進方式,以便我可以確保流程不會從一個核心遷移到另一個核心。

回答

1

這些進程不是從一個核心遷移到另一個核心。每當他們需要CPU時,他們只會獲得你綁定他們的核心。這不會阻止CPU執行其他工作,也不會以某種方式強制進程使用內核,即使它無法運行,也可能是因爲它正在等待I/O。