Заставить Windows использовать все ядра

Заставить Windows использовать все ядра

У меня Win8.1 и процессор Intel с 2(4) (логическими) ядрами.

НО: Windows использует только 1 ядро. Диспетчер задач постоянно показывает 1-й ЦП на 100%; все остальные в основном простаивают.

После нескольких часов поиска я только узнал, что Windows устанавливает привязку каждого процесса к CPU0. В диспетчере задач я мог бы сбросить привязку любого процесса к любому другому CPU (или ко всем), но это не обязательно на моем другом компьютере.

Есть ли еще идеи, кроме msconfig (часто слышу об этом в интернете, но это не решает мою проблему. Windows знает о других процессорах, просто они не используются)?

решение1

Пожалуйста, прочтите эту ссылкуПсихическая отладка

Этот скрипт Powershell (запускается от имени администратора) может помочь обнаружить, для каких процессов установлено соответствие.

get-process | Select Name,ProcessorAffinity

Этот скрипт может по крайней мере временно установить маску для всех доступных (1+2+4+8) процессоров = 15 для двухъядерного процессора с HT (четырехъядерного с гиперпоточностью = 255)

get-process |
  Where{ $_.ProcessorAffinity -eq 1} |
    Foreach{ $_.ProcessorAffinity = 15 }

решение2

Я понял; Некоторые из предустановленных программ Intel троттлили процессор. Переход в Programs and Features и удаление Intel thermal platform исправили, а перезагрузка исправила все.

Связанный контент