Как я могу установить сходство по умолчанию для любого процесса в Windows?

13606
Nathan Fellman

Я хочу запустить некоторые тесты в Windows 7. Эти тесты связаны с гиперпоточностью на многоядерном процессоре. Для этого я хочу убедиться, что только тесты выполняются на их собственном логическом процессоре. Есть ли способ сказать Windows не планировать что-либо на определенных логических процессорах, если я не разрешу это явно для процесса?

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

Есть ли какая-либо конфигурация, которая может позволить мне установить сходство по умолчанию для всех процессов?

4
Может быть, лучше прекратить «системные вещи», чтобы они не мешали и не увеличивали приоритет и не устанавливали привязку для самих тестов, так что другие функции смогут использовать только оставшуюся часть. Что вы делаете, когда сам тест в значительной степени зависит от различных функций, которые вы паркуете в стороне? может повлиять на результаты? Пример: многие стенды для дискового ввода-вывода используют кэши, даже если это якобы обходит их. Psycogeek 12 лет назад 1
Была старая программа для XP, которую я использовал для этой цели, не уверен, что ее можно найти для загрузки сейчас ... http: //www.tomshardware.com/reviews/bang-dual-processing-buck,815-3 .html Moab 12 лет назад 0
У меня есть копия "THG Task Manager", если вы хотите попробовать ее на W7. Moab 12 лет назад 0

3 ответа на вопрос

10
Tom Wijsman

Процесс Лассо поддерживает это! Он поставляется с бесплатной и платной версией, привязка к процессору всегда бесплатна ...

Просто заполните в *в Name matchобласти, которая будет направлена на все процессы.

Я думаю, что вы можете добавить свои программы, чтобы иметь другое сходство, порядок, в котором вы вводите правила, может иметь значение. Также вы можете поставить галочку More strictly enforce default affinitiesвнизу.

Я использую аналогичную утилиту для Folding @ home. surfasb 12 лет назад 0
Обратите внимание, что некоторые "системные вещи", такие как обработка прерываний и DPC, не будут затронуты. Могут также возникать проблемы с разрешением при попытке установить сходство для системных потоков и защищенных системных процессов. Jamie Hanrahan 8 лет назад 0
Мне удалось сделать именно то, что спросили, используя этот инструмент. Я добавил правило * для логических ядер 0-3 и правило "javaw" для 4-7, а затем использовал JNA из моей Java-программы, чтобы установить привязку к ядрам 4 и 6. Работая как чудо, мои 2 потока имели все ядра для себя. Даже подтвержденная видимость памяти вступает в силу с помощью sun.misc. Небезопасное сохранение / загрузка ограждений. Alexandros 5 лет назад 0
3
Pubby

Если вы зайдете в процессы диспетчера задач и щелкнете правой кнопкой мыши по процессу, вы сможете выбрать родство.

enter image description here

Для отключения ядра вы можете использовать msconfig. Я не думаю, что вы можете включить его для каждого процесса.

Хорошо, я должен был быть яснее Я хочу установить соответствие ** всех ** процессов для использования только логических процессоров 0 и 1 и включить только те процессы, которые я хочу использовать 2 и 3. Выполнение вручную для каждого процесса не вариант. Nathan Fellman 12 лет назад 0
@NathanFellman Да, я понял это после публикации. Вы пытались отключить их с помощью msconfig-> system configuration-> advanced? Pubby 12 лет назад 0
нет я не знаю как это сделать :-) Nathan Fellman 12 лет назад 0
@NathanFellman Я видел это по этому адресу: http://en.kioskea.net/faq/616-multicore-cpu-how-to-disable-a-core Никогда не делал этого, так что не уверен, сработает ли это в вашей ситуации. Pubby 12 лет назад 0
1
Simon Sheehan
  1. Откройте меню «Пуск»
  2. введите msconfig и нажмите ввод
  3. Перейти на вкладку, помеченную как загрузочная
  4. Выделите ОС по вашему выбору и нажмите дополнительные параметры.
  5. Проверьте количество процессоров и используйте сколько хотите.

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

enter image description here

Но позволит ли это назначить «только» определенные процессы «отключенным» процессорам? Мне кажется, что это будет держать все процессы процессора, которые я хочу сохранить, включая мой тест. Nathan Fellman 12 лет назад 0
@NathanFellman Я на самом деле не совсем уверен - может быть, вы могли бы проверить это? Simon Sheehan 12 лет назад 0
@NathanFellman: `/ NUMPROC = number` устанавливает количество процессоров, которые Windows будет запускать при запуске. С помощью этого переключателя вы можете заставить многопроцессорную систему использовать только указанное вами количество процессоров (число). Этот переключатель может помочь вам устранить проблемы с производительностью и неисправными процессорами. - См. [Поддержка] (http://support.microsoft.com/default.aspx?scid=kb;en-us;833721). Это означает, что процессоры больше нельзя использовать, если вы их ограничите. Tom Wijsman 12 лет назад 1