Как я постоянно устанавливаю сродство процесса?

У меня есть игра, в которой есть проблемы с использованием ЦП, поэтому одним из исправлений является отключить одно ядро ​​из четырехъядерного процессора. Поскольку каждый раз, когда я запускаю игру, мне нужно вручную войти в диспетчер задач и вручную ввести сродство, которое отстойно, так как игра была недавно выпущена, но подвержена частым сбоям.

Есть ли решение NON SOFTWARE?

Я искал некоторые решения в Интернете, и они, похоже, ориентированы только на Windows 7. Есть ли решение для пользователей Windows 8.1, таких как я?

16 голосов | спросил yuritsuki 2 Mayam15 2015, 09:17:49

3 ответа


21

Вы можете создать ярлык для назначения аффинности.

X:\Windows\System32\cmd.exe /C start /affinity Y game.exe

Y является шестнадцатеричным и является битовой маской:

0x1 - 0001 - Core0
0x2 - 0010 - Core1
0x3 - 0011 - Core1 & Core0
0x4 - 0100 - Core2
0x5 - 0101 - Core2 & Core0
0x6 - 0110 - Core2 & Core1
0x7 - 0111 - Core2 & Core1 & Core0
0x8 - 1000 - Core3
0x9 - 1001 - Core3 & Core0
0xA - 1010 - Core3 & Core1
0xB - 1011 - Core3 & Core1 & Core0
0xC - 1100 - Core3 & Core2
0xD - 1101 - Core3 & Core2 & Core0
0xE - 1110 - Core3 & Core2 & Core1
0xF - 1111 - Core3 & Core2 & Core1 & Core0
ответил The_aLiEn 2 Mayam15 2015, 10:21:49
7

Если «не программное обеспечение» означает, что вы не нуждаетесь в дополнительном программном обеспечении, есть. Вы можете запустить программу из сценария команды и использовать переключатель близости "Start /AFFINITY 20 process.exe"

/AFFINITY 20 обрабатывает 20 как шестнадцатеричное число с двоичным эквивалентом 100000, который устанавливает близость к ядру 5 из 0-5 на 6-ядерном процессоре. Подобная шестнадцатеричная маска позволит вам отключить конкретное ядро, например E, которое запускает процесс только на ядрах 1-3 из 0 -3 или 0-5.

ответил Richie Frame 2 Mayam15 2015, 10:18:44
3

Для тех, кто ищет ответы на это и не найдет, решение, которое я нашел, это использовать приложение под названием WinAFC (или AffinityChanger). Это частичный графический интерфейс, приложение частичной командной строки, которое позволяет вам указывать профили для определенных исполняемых файлов и будет просматривать список процессов для них. Если он найдет соответствующие процессы, он изменит сродство этих процессов в соответствии с настройками загруженного профиля.

Здесь есть документация: http://affinitychanger.sourceforge.net/

В моих целях я создал профиль, который выглядит так:

TestMode = 0
TimeInterval = 1
*\convert.exe := PAIR0+PAIR1

Этот профиль устанавливает любой процесс convert.exe для использования первых двух пар ЦП ядра (CPU0, CPU1, CPU2 и CPU3), опроса каждую секунду. TestMode - это переключатель, который позволяет вам видеть, работает ли ваш профиль без фактической установки аффинности.

Надеюсь, что кто-то найдет это полезным!

ответил Jake 6 +03002016-10-06T01:55:31+03:00312016bEurope/MoscowThu, 06 Oct 2016 01:55:31 +0300 2016, 01:55:31

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132