Почти на всех современные процессоры являются многоядерными. Все современные версии Windows поддерживают мультипроцессорные CPU и все ядра на них по умолчанию активны.
В Windows есть ограничение на максимальное поддерживаемое количество физических CPU и ядер (логических процессоров) в зависимости от версии и редакции:
- Windows 10 x86 (Enterprise Pro, Home) – до 2 CPU и 32 логических процессоров (учитываются как физические ядра, так и виртуальные ядра Hyper-Threading)
- Windows 10/11 x64 – до 2 CPU и 256 логических процессоров
- Windows Server 2019/2016/2012R2 – 640 логических процессоров
- Windows Server 2008 R2 – 256 логических ядер
Сколько процессоров и ядер доступно в Windows?
Проще всего проверить, сколько физических CPU, ядер и логических процессоров доступно в Windows с помощью Task Manager.
- Запустите
taskmgr.exe
и перейдите на вкладку Performance; - Выберите CPU;
- В правом окне указано количество доступных процессоров (sockets), физических ядер (24 cores) и логических процессоров (logical processors).
В диспетчере устройств (
devmgmt.msc
) также отображается количество доступных логических ядер.
Также информация о физических CPU и количестве ядер на них отображается в разделе Processor утилиты msinfo32.exe
Processor Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz, 2394 Mhz, 12 Core(s), 24 Logical Processor(s) Processor Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz, 2394 Mhz, 12 Core(s), 24 Logical Processor(s)
Вы можете получить информацию о количестве ядер и логических процессорах с помощью PowerShell:
Get-WmiObject -class Win32_processor | ft NumberOfCores,NumberOfLogicalProcessors
NumberOfCores NumberOfLogicalProcessors ------------- ------------------------- 12 24 12 24
В переменной окружения Windows также есть информация о количестве логических процессоров в Windows:
echo %NUMBER_OF_PROCESSORS%
Как включить все ядра процессора в Windows?
Если в Windows недоступны все ядра CPU, проверьте включены ли они в настройках BIOS/UEFI. Здесь могут быть два параметра:
- HyperThreading – возможность использовать оба логических процессора ядра CPU
- Active Processor Cores – разрешено ли использовать все ядра процессора
Перезагрузите Windows и войдите в настройки BIOS (обычно для этого используются клавиши
F2
,
Del
,
F10
или
F1
.
Конкретные названия пунктов и их наличие зависит от версии BIOS и модели процессора. В моем случае все ядра и логические процессоры включены в разделе Processor Configuration:
- Hyper-Threading ALL:
Enabled
- Active Processor Cores:
All
Как запускать программу в Windows только на определенных ядрах?
В Windows вы можете разрешить программе выполняться только на одном или нескольких ядрах. По-умолчанию запущенное приложение Windows может выполняться на любом ядре.
Если вам нужно привязать программу к определенным ядрам, можно воспользоваться функцией Processor Affinity. Это может понадобится, если вы хотите ограничить использование CPU программой, или запускать программу только на одном ядре (это бывает нужно для запуска старых приложений, которые некорректно работают на многоядерных компьютерах.
Вы можете изменить привязку запущенного приложения к ядрам с помощью Task Manager:
- Перейдите на вкладку Details;
- Щелкните правой кнопкой по процессу и выберите Set affinity;
- Отметьте физические ядра, на которых разрешено выполнять инструкции приложения.
Если нужно сразу запустить приложение на одном ядре, например, CPU0. Воспользуйтесь командой:
cmd.exe /c start "Acrobat DC" /affinity 1 "C:\Program Files\MyApp\yourappname.exe"
Включить все ядра Windows при загрузке
В Windows при загрузке компьютера всегда используется одно ядро. Вы можете разрешить использовать все ядра при загрузке Windows через System Configuration:
- Запустите утилиту
msconfig
; - Перейдите на вкладку Boot и выберите загрузочную запись вашей Windows;
- Нажмите Advanced options;
- Включите опцию Number of processors в окне BOOT Advanced Options;
- Выберите количество логических процессоров (потоков), которые можно использовать при загрузке .