• Главная
  • разное
  • Как сделать, чтобы программа использовала для работы определенное ядро процессора

Как сделать, чтобы программа использовала для работы определенное ядро процессора

Выбрать ядро процессораРаспределение ядер процессора для выполнения определенной программы может оказаться полезным, если у на Вашем компьютере присутствует ресурсоемкое приложение, которое нельзя выключить, и которое при этом мешает нормальной работе за компьютером. Например, выделив антивирусу Касперского одно ядро процессора для работы, мы можем, пусть незначительно, но ускорить игру и FPS в ней. С другой стороны, если у вас компьютер сильно тормозит, это не тот, метод, который Вам поможет. Нужно искать причины, см: Тормозит компьютер

Назначение логических процессоров определенной программе в Windows 7 и Windows 8

Указанные функции работают в Windows 7, Windows 8 и Windows Vista. О последней я не говорю, так как ее мало кто использует у нас в стране.

Запустите Диспетчер Задач Windows и:

  • В Windows 7 откройте вкладку «Процессы»
  • В Windows 8 откройте «Подробности»
Выбрать соответствие процессора

Кликните правой клавишей мыши по интересующему Вас процессу и выберите в контекстном меню пункт «Задать сходство». Появится окно «Соответствие процессоров», в котором Вы можете указать, какими ядрами процессора (или, вернее, логическими процессорами) программе разрешено пользоваться.

Выбор логических процессоров для выполнения программы

Выбор логических процессоров для выполнения программы

Вот и все, теперь процесс использует только те логические процессоры, которые ему разрешили. Правда происходит это ровно до следующего его запуска.

Как запустить программу на определенном ядре процессора (логическом процессоре)

В Windows 8 и Windows 7 имеется также возможность запустить приложение так, чтобы сразу после запуска оно использовало определенные логические процессоры. Для того, чтобы сделать это, запуск приложения нужно осуществлять с указанием соответствия в параметрах. Например:

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

В этом примере будет запущено приложение software.exe с использованием 0-го (ЦП 0) логического процессора. Т.е. цифра после affinity указывает номер логического процессора + 1. Эту же команду Вы можете записать в ярлык приложения, чтобы оно всегда запускалось с использованием определенного логического процессора. К сожалению, мне не удалось найти информации, как передать параметр таким образом, чтобы приложение использовало не один логический процессор, а сразу несколько.

UPD: нашел как запустить приложение на нескольких логических процессорах с помощью параметра affinity. Указываем маску в шестнадцатеричном формате, например требуется использовать процессоры 1, 3, 5, 7, соответственно, это будет 10101010 или 0xAA, передаем в виде /affinity 0xAA.

Использование процессора в Windows 8

Комментарии (18) к Как сделать, чтобы программа использовала для работы определенное ядро процессора

  • frenor

    Все годно, спасибо огромное, однако 1 вопрос, неужели винда научилась вызывать файлы без прописывания пути, или я чего-то не понимаю?

    Ответить

    • Dmitry

      Для Windows можно определить конкретные папки (а есть определенные по умолчанию, после установки), для запуска программ из которых полный путь не нужен.

      Ответить

  • LRA

    Думал, что я хозяин компьютера, но. Диспетчер задач выдал окно:
    Не удалось получить доступ или установить принадлежность процесса.
    Операция не может быть завершена.
    Отказано в доступе.

    Ответить

    • Dmitry

      Хозяин компьютера вы, не переживайте. Просто некоторые процессы запускают своего рода виртуальные пользователи, типа Система, TrustedInstaller, которые имеют прав больше ваших по умолчанию.

      Ответить

  • Николай

    а можно по подробней, как сделать этот шестнадцатеричный формат ? спасибо!

    Ответить

    • Dmitry

      Николай. Например, у нас 4 логических процессора.
      Все выключены:
      0000
      Используется только первый:
      1000
      Используется только второй:
      0100
      И т.д.
      Далее это двоичное значение конвертируем в шестнадцатеричное. Это могут делать калькулятор в Windows 10 в режиме «программист», по-моему и в 7-ке можно было (но сейчас не могу посмотреть как), а можно вот так:
      в гугл введите (нули вначале двоичного значения убираем)
      bin двоичное_значение to hex, например bin 100 to hex (для второго случая)
      Первый же результат поиска будет вести на сайт, который в пунке Hexademical покажет шестнадцатеричное значение. Перед ни пишем 0x (как в примере в статье)

      Ответить

      • Сергей

        значения affinity —
        1 CPU0
        2 CPU1
        3 CPU0+CPU1
        4 CPU2
        5 CPU0+CPU2
        6 CPU1+CPU2
        7 CPU0+CPU1+CPU2
        8 CPU3
        9 CPU0+CPU3
        0A CPU1+CPU3
        0B CPU0+CPU1+CPU3
        0C CPU2+CPU3
        0D CPU0+CPU2+CPU3
        0E CPU1+CPU2+CPU3
        0F CPU0+CPU1+CPU2+CPU3

        Ответить

  • semen

    Dmitry, а как назначить программе 43 ядра?
    Пардон, просмотрел: 43 из 48. Хочу убедится, что прав (83FF FFFF FFFF)?
    С уважением. Анатолий.

    Ответить

    • Dmitry

      первые 43 из 48 ядер? у меня получается ffff ffff ffe0
      Но могу ошибаться. И вообще что это за оборудование такое? (сдается мне на нем должны быть иные средства управления распределением нагрузки по ядрам).

      Ответить

      • Сергей

        Все правильно ffff ffff ffe0. Вы забыли указать, что бинарное значение надо вбивать учитывая, что нумерация идет с конца — 1,2,4 ядро — 1011, т.е. первая единица — четвертое «включенное» ядро, потом ноль — 3-е «выключенное» и соответственно 1 и 2 ядрам присвоена единичка («включены»)

        Ответить

  • Руслан

    У меня не работает на Windows 8.1. Вроде как запускается сначала cmd на мгновение а потом запускается приложение. Но оно все равно работает на одном процессоре.

    Ответить

    • Dmitry

      Руслан, это может быть ограничение самого приложения: не все они могут работать на нескольких CPU

      Ответить

  • Alex

    Спасибо. Полезная вещь насчет командной строки. А то забодался уже лазить в диспетчер и отключать второе ядро. Иначе игра вылетает : )

    Ответить

  • Vlad

    Добрый день
    Это не игровой сайт, но может вы поможете разобраться,ибо решения данной проблемы в инете просто нет (кроме одного совета), а я в компах-ЧАЙНИК)

    Проблема: Любая устанавливаемая версия FIFA-неестественно быстрая, т.е. все игроки двигаются с сумасшедшей скоростью, как минимум в 3 раза быстрее, чем должны (как при перемотке видео). Как на Windows 7 Pro x64 так и на Windows 10 Pro 64 (обе-лицензии).

    Комплектующие ПК- совместимы между собой и отвечают системным требованиям игр + установлено все дополнительное ПО-Direxct X и д.р. Драйвера видеокарт-последней версии (устанавливал все предыдущие версии на обеих-не помогает) термопаста как в видеокарте gtx 550-ti (gtx 1080-новая и на ней тоже самое) так и на процессоре качественная и заменена правильно.

    Такая проблема только с FIFA-остальные игры и сами ОС работают великолепно.

    Единственный совет, который я нашел-это запускать игру на 1 ядре процессора. У меня i7 6700K

    Из-за чего вообще возникает моя проблема? Поможет ли совет?

    Извините за целый рассказ

    Ответить

    • Dmitry

      Здравствуйте.
      Не могу ответить. Сам поискал еще и у американцев на тему — но ничего такого не описывают. При этом игра не зависима от скорости процессора, по идее (давно уже таких не делают). Так что какой-то глюк, а вот как помочь — не знаю.

      Ответить

  • Алексей

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

    Ответить

  • Илья

    А как быть если у меня 2 физических процессора по 12 ядер? Нигде не могу найти мануала

    Ответить

    • Dmitry

      Возможно пробовать все то же самое, с расчетом на 24 логических процессора. Правда гарантий я тут не даю никаких, экспериментировать только.

      Ответить

Оставить комментарий

Список инструкций Windows 10
Загрузочные флешкивсё для создания
Найти телефонпоиск потерянного и украденного телефона
Антивирус онлайн9 способов проверить компьютер на вирусы онлайн бесплатно
Бесплатная помощькомпьютерная помощь читателям