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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам