Categories: Разное

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

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

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

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

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

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

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

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

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

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

c:windowssystem32cmd.exe /C start /affinity 1 software.exe

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

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

admin

Share
Published by
admin

Recent Posts

vim-commands/

Самое главное — побороть боязнь белого листа. Я всегда говорю это себе, когда нужно начать…

3 недели ago

firefox-thunderbird-en-ru-dict/

По не вполне ясным причинам, Firefox умеет проверять орфографию либо только в русских, либо только…

3 недели ago

perl-hacks/

Около месяца собирал разные «хаки» на языке программирования Perl. Эта подборка наглядно демонстрирует, как в…

3 недели ago

perl-cy-check/

C недавних пор я стал увлекаться SEO. Порой передо мной встает задача быстро проверить индекс…

3 недели ago

which-cms-perl/

Недавно написал несколько скриптов, позволяющих автоматически определять, какая CMS (Content Management System, система управления контентом)…

3 недели ago

smtp-descr/

Я так подозреваю, что среди вас найдется те, кто скажет, что этот пост боян и…

3 недели ago