Я запускаю установку, состоящую из хост-ОС Linux и гостевой Windows 7 (VMware Workstation). Я пытаюсь запустить 16 фоновых заданий с привязкой к ЦП на узле Linux с хорошими значениями 19 (минимально возможный приоритет; по одному для каждого виртуального ЦП) и одновременно использовать виртуальную машину Windows как обычную ОС рабочего стола. По какой-то причине фоновые задания Linux заставляют мою виртуальную машину Windows останавливаться, хотя значение nice для VMware равно 0.
Если это поможет, я запускаю 8-ядерную машину с гиперпоточностью, то есть 16 виртуальных процессоров. Поскольку VMware Workstation поддерживает виртуализацию только 8 ядер, в гостевой ОС Windows видны только 8 ядер.
Изменить: фоновые задания, которые я выполняю, почти полностью связаны с процессором и практически не выполняют операций ввода-вывода.
Изменить № 2: это не проблема с гиперпоточностью, нарушающей планирование. Отключение гиперпоточности в BIOS ничего не решает.
Вы можете проверить, действительно ли ваша система замедляется процессором или, скорее, вводом-выводом. vmstat 1
может быть хорошей идеей, а может быть top
. Предполагается, что 19 процессов сделай что-нибудь, право?
Помните, что жесткий диск настольного компьютера не может выполнять более ~ 100 случайных операций ввода-вывода в секунду. Процессы Nice'd должны получать меньше операций ввода-вывода, но многим из них все равно будет достаточно.
Я понял, что здесь происходит. Задания, которые я выполнял, сбрасывали кучу результатов, которые меня не волновали, в / dev / null. Выполнение других заданий в фоновом режиме, которые действительно связаны исключительно с процессором, работает нормально.