У меня есть AMD FX-6200 (3,8 ГГц, шесть ядер), и я хотел бы оптимизировать его следующим образом:

  • Ядро 1: Используется только ключевыми процессами Windows, например, explorer.exe, svchost.exe, rundll32.exe и т.д.
  • Ядро 2: Используется только вторичными процессами Windows, которые часто запускаются / останавливаются, например, cmd.exe / powershell.exe, taskmgr.exe / procxp.exe и т.д.
  • Ядро 3: Используется только пользовательскими приложениями с интенсивным использованием процессора, которые не оптимизированы для нескольких ядер.
  • Core 4: используется пользовательскими приложениями. (дефолт)
  • Core 5: используется пользовательскими приложениями. (дефолт)
  • Core 6: используется пользовательскими приложениями. (дефолт)

Одна из причин, по которой я хочу это сделать, заключается в том, что Windows обычно распределяет нагрузку на процессор равномерно по всем процессорам, но когда вы запускаете однопотоковый процесс, интенсивно использующий процессор, он часто работает значительно медленнее, чем просто, потому что 20% ядра это процессы, на которых они выполняются, уже заняты другими процессами, и Windows, по-видимому, не способна эффективно перемещать эти процессы к другим ядрам во время выполнения.

Я знаю, как установить привязку к процессору в Process Explorer, но а) это не является постоянным, б) вы не можете установить значения по умолчанию для неизвестных процессов, и в) это действительно не вариант для бесчисленного множества фона Windows процессы. Я в основном ищу решение, в котором ОС автоматически использует ядро 1, а пользовательские приложения по умолчанию используют ядра 4/5/6, и я могу заранее указать, какие определенные процессы следует переместить на ядра 2 или 3 вместо этого. Возможно ли что-то подобное?

Я использую 64-битный Windows Server 2008 R2 Datacenter, но это ядро Windows 7, поэтому могут подойти и решения для Windows 7.


Редактировать: Существует инструмент Microsoft под названием IIS, который описывается как веб-сервер, но, похоже, обладает возможностями, связанными с настройкой соответствия процессоров для пулов приложений. Кто-нибудь имеет опыт работы с этим IIS и может сказать, можно ли (и как) использовать его для моих целей?

2 ответа2

1

Я не верю, что есть встроенное решение. Насколько я знаю, нет даже постоянного стороннего решения. В любое время программа может указывать сходство процессора. Таким образом, даже если ОС действительно перемещает процесс, процесс может вернуться назад.

1

Попробуйте это решение:

c:\windows\system32\cmd.exe /C start /affinity 1 mstsc.exe

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .