набор задач внутри виртуальной машины qemu не работает должным образом

Я эмулирую qemu для Linux x86-64. В виртуальной машине qemu я использую

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

одновременно выдавать 4 процесса и привязывать их к четырем ядрам (prc — сокращение от process). Однако я обнаружил, что как только они начинают работать; затем, между ними, некоторые ядра (скажем, 1 и 2) не выполняют эти процессы, а либо простаивают, либо делают что-то еще. Можете ли вы подсказать, в чем может быть причина этого или способ улучшения, чтобы я мог убедиться, что процессы не мигрируют с одного ядра на другое.


person user984260    schedule 10.01.2012    source источник


Ответы (1)


Процессы не мигрируют с одного ядра на другое. Всякий раз, когда им нужен ЦП, они получат только то ядро, к которому вы их привязали. Это не помешает ЦП выполнять другую работу и не заставит процесс использовать ядро, даже если он не может работать, например, потому что он ожидает ввода-вывода.

person David Schwartz    schedule 10.01.2012