Содержание
- 1 Отключение ядер через биос
- 2 Отключение ядер через msconfig
- 3 Указываем программе сколько ядер использовать
- 3.1 Через диспетчер задач
- 3.2 Через командную строку или свойства ярлыка
Бывают ситуации, когда нужно запустить приложение на меньшем количестве ядер, чем располагает процессор. Например:
• Для ограничения потребления ресурсов конкретным приложением.
• Для обеспечения совместимости. К примеру требуется запустить устаревшее приложение, которое работает некорректно в многоядерной системе.
• Для повышения производительности. Особенно актуально это в случае с LGA2011-3, где многоядерные CPU бывают вынуждены сбрасывать частоты, чтобы уложиться в лимиты энергопотребления. Путем отключения нескольких ядер можно добиться увеличения частоты для остальных ядер.
Отключение ядер через биос
Этот вариант гарантированно отключает выбранные ядра, но не слишком удобен, так как для их последующего включения придется снова заходить в биос и перезагружать систему.
Для китайских плат на сокете 2011-3 искомая настройка находится по адресу IntelRCSetup > Processor Configuration > Pre-Socket Configuration > CPU Socket 0 Configuration > Cores Enabled.
Для китайских плат на сокете 2011: Advanced > CPU Configuration > Active Processor Cores.
Для материнок на других сокетах и платформах найти нужную настройку также не составит труда, достаточно зайти в меню конфигурации процессора и осмотреться.
Отключение ядер через msconfig
В операционных системах от Microsoft есть возможность отключить часть ядер через утилиту msconfig:
Указываем программе сколько ядер использовать
Этот способ не требует отключения ядер, все они останутся работать, но указанное приложение сможет использовать только определенное их количество. Данный вариант может не так сильно влиять на производительность как полноценное отключение ядер, но зато он не требует перезагрузки и может выполняться «на лету».
Есть несколько вариантов использования: через диспетчер задач, командную строку или свойства ярлыка.
Через диспетчер задач
Через командную строку или свойства ярлыка
Эти же действия можно произвести через командную строку.
Начиная с Win7 для этого используется команда affinity.
Пример использования: нажимаем Win + R и вводим cmd.exe /c start "Notepad ++" /affinity FFFF "C:\Program Files (x86)\Notepad++\notepad++.exe"
(замените путь и имя программы на необходимые).
Обратите внимание на значение «FFFF» после /affinity. Именно оно указывает, сколько ядер будет использовать приложение.
Как вычислить это значение:
Предположим, что у нас процессор с 8 ядрами и 16 потокам (16 логических ядер). Представим 16 логических ядер в двоичном (бинарном) виде, где каждое ядро может иметь значение 0 (выключено) и 1 (включено).
Все ядра включены: 1111111111111111. Уберем Hyper-Threading (включены только физические ядра): 0101010101010101. Обратите внимание, что последний 0 справа — это 0 ядро, а первый 0 слева, это 15 ядро.
Теперь переведем данные из двоичного в 16-ричный формат. Для этого можно использовать любой онлайн-конвертер. «0101010101010101» после конвертации станет «5555». Именно 5555 и нужно использовать, чтобы запустить приложение на 8 логических ядрах: cmd.exe /c start "Notepad ++" /affinity 5555 "C:\Program Files (x86)\Notepad++\notepad++.exe"
Приложение таким образом можно запускать как через Win + R, так и через командную строку или ярлык:
- Щелкните правой кнопкой мыши на рабочем столе и выберите Создать > Ярлык
- В открывшемся окне вставляем уже известную команду
cmd.exe /c start "Notepad ++" /affinity 555 "C:\Program Files (x86)\Notepad++\notepad++.exe"
Чтобы ограничить количество ядер для игры на Windows 10, нужно выполнить следующие шаги:
1. Откройте диспетчер задач, нажав на комбинацию клавиш Ctrl + Shift + Esc.
2. Найдите процесс игры в списке процессов и щелкните правой кнопкой мыши по его имени.
3. Выберите пункт «Установить приоритет» и выберите одну из доступных опций:
— Низкий приоритет. Это ограничит использование процессора для игры и предоставит больше ресурсов другим приложениям.
— Средний приоритет. Это позволит игре использовать все доступные ядра, но с более низким приоритетом, чем другие процессы.
— Высокий приоритет. Это позволит игре использовать все доступные ядра с более высоким приоритетом, чем другие процессы.
4. Если нужно ограничить количество ядер, выберите пункт «Выбрать числовые параметры ядер» и укажите количество ядер, которые могут использоваться для игры.
5. Нажмите «OK», чтобы сохранить изменения.
Другой способ ограничить количество ядер для игры состоит в том, чтобы отключить гиперпоточность (Hyper-Threading) в настройках BIOS. Однако, перед этим рекомендуется ознакомиться с инструкцией вашей материнской платы и быть осторожным при внесении изменений в BIOS.
Ограничение количества ядер может помочь улучшить производительность игры, особенно если у вас есть другие приложения, которые также используют процессор. Однако, стоит отметить, что ограничение количества ядер может привести к снижению производительности в некоторых случаях.
Если вы выбрали опцию «Низкий приоритет», то игра будет использовать только те ядра, которые не заняты другими процессами. Это может быть полезно, если у вас запущены многозадачные приложения, такие как браузер или редактор фотографий, которые занимают большую часть процессорного времени.
С другой стороны, выбор опции «Высокий приоритет» может привести к снижению производительности других приложений, которые также используют процессор. Поэтому, если вы выбираете эту опцию, убедитесь, что все остальные приложения закрыты.
Также стоит отметить, что не все игры могут использовать все ядра процессора. Некоторые игры могут использовать только одно ядро, в то время как другие могут использовать несколько ядер. Поэтому, если вы выбираете опцию «Выбрать числовые параметры ядер», убедитесь, что вы знаете, сколько ядер использует ваша игра.
В целом, ограничение количества ядер может помочь улучшить производительность игры, но это зависит от конкретной ситуации. Поэтому, прежде чем вносить изменения, убедитесь, что вы понимаете, как это повлияет на производительность.
Почти на всех современные процессоры являются многоядерными. Все современные версии Windows поддерживают мультипроцессорные CPU и все ядра на них по умолчанию активны.
Содержание:
- Сколько процессоров и ядер доступно в Windows?
- Как включить все ядра процессора в Windows?
- Как запускать программу в Windows только на определенных ядрах?
- Включить все ядра Windows при загрузке
В 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).
Логические процессоры показывают число доступных ядер с учетом того, что на компьютере включен HyperThreading.
В диспетчере устройств (
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
Эти настройки могут находится в разделах Advanced, Extreme Tweaker и называться Processor Options, AMD Core Select, Processor Core, Active Processor Cores, Core Multi-Processing, CPU Cores и т.д.
Как запускать программу в 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;
- Выберите количество логических процессоров (потоков), которые можно использовать при загрузке .
Вы не заметите существенного ускорения загрузки Windows, если увеличите число доступных процессоров. Кроме того, в некоторых случаях эта опция может вызвать проблемы с загрузкой Windows, особенно при включении опции PCI lock (ошибка загрузки BAD SYSTEM CONFIG INFO). Поэтому в большинстве случаев не рекомендуется включать и настраивать эту опцию.
На сегодняшний день работой процессора с 1-2 ядрами никого не удивить. Более того, такие системы не являются пригодными для большинства современных задач. Поэтому в дело вступают чипы уже с 6-8 ядрами для домашнего и офисного использования. В операционной системе Windows 10 предусмотрена опция включения и отключения определенного количества ядер процессора.
С одной стороны, это позволяет экономить ресурсы компьютера, а с другой – увеличить вычислительную мощность при необходимости. Знание того, как изменить количество ядер процессора, помогает пользователю рационально пользоваться ресурсами компьютера. Тем более, что многопоточность нужна далеко не для всех программ, и для экономии ресурсов ее можно отключить.
Сколько ядер ЦП работают постоянно и в чем преимущества многоядерных систем
По умолчанию в ОС Windows 10 включены все ядра центрального процессора. Они могут работать на разных частотах, но это всегда лучше, чем одноядерная система. Наглядным примером этой выгоды может служить наполняющийся бассейн. Если он будет наполняться водой из одной трубы, то выполнит работу за определенное время, если труб будет несколько, вода наполнится гораздо быстрее. С процессорами примерно также: от количества ядер в чипе кардинально зависит скорость работы всей системы.
Как узнать сколько ядер у процессора
Чтобы понимать, какое количество ядер можно включить или выключить в ОС Windows 10, нужно знать, сколько ядер физически есть у процессора пользователя. Сделать это можно несколькими способами:
- в описании процессора;
- в Windows 10;
- с помощью программ.
Чтобы узнать сколько ядер у процессора, достаточно определить его модель. После этого в Интернете можно легко найти технические характеристики представленной модели чипа. Специалисты в области программирования и системного администрирования компьютерных систем рекомендуют обращаться к официальным источникам и сайтам компаний, производителей центральных процессоров (далее ЦП).
Существует более простой вариант: можно определить количество ядер процессора в диспетчере устройств Windows. Для этого нужно выполнить следующие простые шаги: в строке поиска или меню Пуск прописать Диспетчер устройств и в открывшемся меню нажать выпадающий список Процессор. Количество позиций в этом меню равняется количеству ядер процессора.
Определить количество ядер ЦП также можно с помощью специализированного ПО. Для этих целей программы CPU-Z и AIDA. Они анализируют и подробно раскрывают технические характеристики не только процессора, но и всей системы персонального компьютера. Поэтому такими инструментами часто пользуются системные администраторы и сервисные специалисты по исправлению программных и аппаратных неполадок устройства.
Единственный случай, когда для вычислений процессору не нужны все ядра, – загрузка операционной системы. Конфигурацию применения всех ядер ЦП или определенного количества можно настроить в самой операционной системе Windows 10. Для этого нужно выполнить следующие шаги:
- в меню поиска или Пуск прописать команду msconfig;
- в открывшемся приложении Конфигурация системы выбрать вкладку Загрузка-Дополнительные параметры;
- Установить галочку напротив пункта Число процессоров.
Это обеспечивает пользователю ручное регулирование количества загружаемых ядер процессора в системе. Также это окно содержит опции по регулированию памяти и ряд глобальных параметров отладки. Это полезно для администраторов системы, занимающихся оптимизацией работы операционной системы.
Как регулировать количество загружаемых ядер процессора в BIOS
Внимание! Настраивать загрузку ядер процессора в BIOS компьютера допускается лишь в том случае, когда настройки «слетели» в основной операционной системе. В обычном случае ядра ЦП лучше загружать в автоматическом режиме. Чтобы выбрать ручной режим нужно зайти в BIOS- Advanced Clock Calibration. В зависимости от контекста установить в этом разделе показатели Auto (загружать количество ядер автоматически) или All Cores (все ядра).
On your Windows 11 or Windows 10 computer, you may be experiencing high CPU usage caused by an app or game, of which you want to reduce or limit how much CPU resource the process for the app or game can use. In this post, we will show you how to limit CPU usage for apps with a single process or apps with multiple processes.
In simple terms, CPU utilization is the current percentage of CPU resources consumed by all programs. If you notice that some programs are using more of your CPU cores and hogging system resources, you can limit CPU usage for the process or multiple processes of the game/app using the methods below.
- Set Process Priority and CPU Affinity
- Use third-party app
- Lower Maximum Processor State
Let’s see these methods in detail.
1] Set Process Priority and CPU Affinity
Process Priority enables Windows OS to allocate and de-allocate resources required by all the active processes. PC users can alter the process priority of any process/sub-process via Task Manager, but it should be done only for non-system processes. The process priority settings of the core system processes are best left unaltered.
CPU Affinity simply restricts the processes to use fewer CPU cores of your system. PC users can set for each process to control how many CPU cores a process is allowed to use. By changing CPU affinity, you can free up CPU cores which will become available to other processes.
To set Process priority, do the following:
- Press Ctrl + Shift + Esc key to launch Task Manager.
- In Task Manager, identify the process whose priority you want to alter.
- You can also click on the CPU column to arrange the processes in descending order of their consumption.
- Now, right-click on the process and select the Go to details option from the context menu. Alternatively, click the Details tab and look for the process you want to alter.
- On the Details section, right-click on the process and select the Set priority from the context menu.
- Then, select Below Normal (allocates slightly fewer resources when they are available) or Low (allocates the least amount of system resources when they become available).
- A warning window will pop up informing you about the effects of changing the process priority.
- Click on the Change Priority button to apply changes.
- Exit Task Manager.
To set CPU (Processor) affinity, do the following:
Note: For apps that has multiple processes such as msedge.exe, you will have to set the CPU affinity for each of the processes since each executable represents a different tab, window or plugin.
- Open Task Manager.
- In the Task Manager window, click on More details to expand if you can’t see any tab but only a few apps with little to no information.
- Under Processes tab, click on the app you want to limit its CPU usage to expand the list of processes the app is running.
- Next. right-click on the process you want to limit, and select Go to details. to be redirected to the Details tab.
- In the Details section, right-click on the highlighted process and select Set affinity.
- In the Processor affinity window, by default, for most processes, you should see all processors are selected, which means all processor cores are allowed to run the process.
- Now, simply uncheck the boxes of CPU cores that you don’t want the process to use.
- Click on the OK button.
- Exit Task Manager.
Remember that you can limit only one or multiple CPU cores for a process, but at least one core has to be selected. Also, with this method, Windows will reset the configuration after you close and open the program to its default which is to use all CPU cores. So, to force an app or game to always retain the allowable CPU cores (CPU affinity), you can use the workaround below.
Read: Can’t set Process Priority in Task Manager of Windows
Permanently set CPU Affinity and Priority by creating a shortcut for the process
- You begin by determining the hex value of the CPU(s) you want to use for CPU Affinity parameter by getting the binary number of the CPU cores you want to use for a process.
The length of the binary number is determined by how many CPU cores you have. In the CPU binary number, 0 means “off” and 1 means “on”. For each CPU core you want to use for the process, change 0 to 1.
For this post, we are demonstrating with 7-core CPU and will be using only CPU 0 for the application; the binary number to be used will be 0000001.
- Next, we need to convert the binary to a hexadecimal number using the converter at rapidtables.com/convert.
- Once you have the hex number, proceed to create a desktop shortcut.
- In the Create shortcut window, enter the syntax below in the Type the location of the item field.
cmd.exe /c start "ProgramName" /High /affinity # "ProgramPath"
- In the syntax, substitute the ProgramName placeholder with the actual name of the program (can be empty or any name), Low with any CPU priority (Realtime, High, Above Normal, Normal, Below Normal, Low), # with the Hexadecimal value obtained earlier, ProgramPath with the full path of the game or application.
Now, after you have created the shortcut, if you want to run the program, run this shortcut instead, and Windows will automatically launch the program with the CPU affinity and Priority you’ve set in the shortcut’s command parameters. But, keep in mind that this method will only work for apps and games that run on only one process. For apps that run on multiple processes, such as chrome.exe, firefox.exe, or msedge.exe, you need to force set the priority and CPU affinity by following the workaround below.
Read: Change Process Priority for running processes using Command line
Permanently set CPU Affinity and Priority by creating PowerShell script for the process
- You begin by creating a PowerShell script.
- Create a text file and name it any name you like but with an extension of .ps1.
- Once created, open the .ps1 file with Notepad or any other compatible text editor.
- Enter the syntax below in to the text editor:
Get-WmiObject Win32_process -filter 'name = "chrome.exe"' | foreach-object { $_.SetPriority(64) }
- Substitute chrome.exe with the name of the process you want to set priority for, and the priority value (Realtime 256, High 128, Above Normal 32768, Normal 32, Below Normal 16384, Low 64) in the SetPriority(value).
- Now, you need to determine the decimal value of the CPU core(s) you want to use for a process. As you’re using the same CPU cores above, check the decimal value in the converter above.
- Now, if you want to set the CPU affinity for only one process, enter the command line below into the PowerShell script.
$Process = Get-Process Messenger; $Process.ProcessorAffinity=1
- To set the CPU affinity for all processes with the same name, for example, chrome.exe, firefox.exe or msedge.exe, enter the command line below into the PowerShell script.
ForEach($PROCESS in GET-PROCESS chrome) { $PROCESS.ProcessorAffinity=1}
- Substitute the value 1 with the decimal value you obtained from the converter, chrome with the name of the process you want to set the CPU affinity for.
- Save the text editor.
- To run the script, right-click the file and select Run with PowerShell.
By default, Windows does not allow any script to run on the system. To allow your script to run, tsp Y when prompted. The script will then run and exit after executing all the commands. If you encounter any problem running the script due to execution policy, you can turn on PowerShell script execution or you can create a desktop shortcut pointing to the ps1 script you’ve created earlier with parameter that bypass the execution policy using the command below in the Type the location of the item field:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -ExecutionPolicy Bypass -File "FullPathToPowerShellScript"
- Substitute the FullPathToPowerShellScript placeholder with the actual path to your PS1 script file. If your Windows is not in C: drive or your powershell is installed elsewhere, replace the C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe with the path to the powershell.exe on your system.
Read: Configure Processor Scheduling for better performance in Windows
2] Use third-party app
This method also solves the drawback of using Task Manager to limit CPU usage, which is, it resets your preferences after the program restarts. So, If you want a more comprehensive solution to manage the resource usage on a program, you can try third-party apps like Process Lasso, Bill2 Process Manager, and Process Tamer.
To limit the CPU usage of a process using Process Lasso, do the following:
Note: If you plan on making major tweaks with this utility or any other mentioned, we suggest you create a restore point before you proceed.
- Download and install the appropriate version of the utility on your system.
- Next, launch the application with elevated permissions.
- Right-click on the desired process and change its priority and affinity as per your requirement.
- Make changes by selecting the Always option from the context menu. If you choose the Current option, it will only be applicable until the program restarts.
- Once done, you can exit the app.
Read: How to Enable or Disable CPU Core Parking in Windows
3] Lower Maximum Processor State
This method is not as invasive as the two methods described above. This setting allows you to limit the maximum speed your CPU can attain which will consequently put less task on your processor and can potentially prevent your PC overheating.
To lower the Maximum processor state of your CPU, do the following:
- Open Control Panel.
- Click Power Options.
- Click on the Change plan settings option located next to the active power plan of your system.
- Then click on the Change advanced power settings. A new Power Options window will launch.
- Find and expand the Processor Power Management option.
- Click on the Maximum processor state option and edit the values.
- By default, the value is set at 100 percent. Change it to 80 percent for both the On Battery and Plugged in options.
- Click Apply > OK to save changes and exit the window.
With the above configuration, your CPU will run at 80 percent of its capacity during peak loads.
That’s it!
Related post: How to Check, Lower or Increase CPU usage in Windows
How to allocate more CPU to a program in Windows 11/10
CPUs are not allocated to programs. Programs create threads of execution that run simultaneously. Different CPUs support a different number of threads they can execute simultaneously. If the program creates several threads same or more as a maximum number of threads supported by the CPU it may consume more CPU.
Can I limit CPU usage of a process?
The easiest way to limit CPU usage of a process on a Windows 11/10 computer is to limit Processor power. Go to Control Panel. Maximum Processor State and lower it to 80% or whatever you want. Using software that measures CPU temperatures like ‘Speed fan’, you will see that temperatures drop.
Why is Task Manager CPU usage so high?
The worst scenario for high CPU usage when nothing pops up in Task Manager is a virus infection or malicious software that runs in the background. To stay safe from any ransomware or other type of viruses that can lead to computer damage, make sure Windows Defender is updated and running or you can install any reputable third-party AV.
Read: CPU usage spikes to 100% when opening Task Manager
Should I enable all cores in Windows 11?
They are only used when required to speed up the tasks. However, you can manually enable some or all of them. If you think that your computer is performing slow and can do better, you can manually enable all cores so the workload between them is divided, resulting in faster performance.
What does 400% CPU usage mean?
On a multi-core Unix / Linux computer, 100% utilization indicates that only one of the cores is maxed out. 150% utilization indicates that only 1.5 cores are at capacity. So, for example, on an 8-core box, 400% utilization leaves you with twice the headroom that you are actually using.
What is a good CPU usage percentage?
The best CPU usage would most likely be around 80-80% max. This means you are utilizing more of your CPU’s capabilities while giving it some leeway to handle a spike in CPU usage.