Доброго времени!

Первый и самый главный вопрос, с которого следовало бы начать данную статью: зачем вообще менять приоритет и стоит ли это делать. 👀

Представьте, вот вы запускаете тяжелую игру (или редактор видео, или еще что-то. ) далеко на не самом мощном компьютере. Причем, помимо вашей игры в Windows (обычно) запущено достаточно большое количество процессов, приложений. И в определенное время они могут "забирать" часть ресурсов себе — в результате игра время от времени притормаживает.

Смена приоритета процесса же позволяет указать Windows, что запущенная игра — это первоочередная задача, которой нужно выделить все основные ресурсы (а все остальное может подождать. ) . Благодаря заданию приоритетов для самых "главных" для вас программ — можно снизить количество притормаживаний и лагов, ускорить их работу.

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

Теперь ближе к сути.

Работа с приоритетами.

У каждой запускаемой программы или процесса в Windows есть приоритет. Обычно, ОС Windows "сама знает" кому и что выделять, и делает это автоматически (без участия пользователя). Вообще разнообразие приоритетов не такое уж и большое:

  1. >(при выставлении данного приоритета некоторый софт может тормозить) ;
  2. Below Normal (ниже среднего);
  3. Normal (средний) — большинство программ запускаются со средним приоритетом;
  4. Above Normal (выше среднего);
  5. High (высокий);
  6. Real Time (реального времени) — самый высокий приоритет. При его выставлении — в первую очередь будет выполняться именно эта программа.

Отмечу, что с приоритетами High и Real Time нужно быть крайне осторожными: в некоторых случаях при выставлении оных — компьютер может зависнуть или Windows завершит работу с ошибкой.

Еще один совет : нет необходимости выставлять приоритет каждой запускаемой программе (с этим Windows хорошо справляется в авто-режиме). Как правило, есть смысл указать приоритет для 2÷5 часто-используемых приложений, которые для вас наиболее важны.

Изменение приоритета

И так, чтобы поменять приоритет работающей программы (процесса) в Windows — необходимо воспользоваться диспетчером задач . Для того, чтобы его вызвать — нажмите сочетание кнопок Ctrl+Shift+Esc (либо Ctrl+Alt+Del).

Для вызова диспетчера задач — нажмите Ctrl+Shift+Esc

Далее откройте вкладку "Подробности" (это для Windows 10, для Windows 7 — "Процессы") и найдите в списке нужный процесс ( прим. : название программы совпадает с названием процесса) .

После, на нужном процессе кликните правой кнопкой мышки: в появившемся меню перейдите во вкладку "Задать приоритет" и укажите нужный вам.

Задание приоритета для запущенного процесса

Собственно, на этом всё! Теперь запущенная программа будет работать с новым приоритетом. При выставлении приоритета реального времени — возможно, компьютер начнет тормозить.

Сохранение приоритета с помощью настроек реестра

После перезагрузки компьютера (или при перезапуске программы) — установленный вами приоритет сбрасывается (т.е. Windows снова задает его автоматически). И это не очень удобно.

Но с помощью настроек реестра можно "сохранить" указанный вами приоритет (т.е. Windows будет "знать", что эту программу нужно запустить с таким-то приоритетом).

Как это сделать:

    сначала необходимо открыть редактор реестра (нажмите Win+R , и введите команду regedit , нажмите OK). У кого не открылся редактор, привожу в помощь одну свою старую заметку: https://ocomp.info/sposoby-otkryit-redaktor-reestra.html

regedit — открыть редактор реестра

далее необходимо открыть следующую ветку реестра (можно просто ее скопировать и вставить в редактор): HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options

Какую ветку в реестре нужно открыть

затем нужно узнать точное название исполняемого файла программы (игры). Для этого просто щелкните правой кнопкой мышки по ее ярлыку и перейдите в свойства . После, в разделе "Ярлык" — в строке "Объект" скопируйте название исполняемого файла;

Узнаем название исполняемого файла игры / Кликабельно

теперь в открытой ветке реестра создайте раздел (папку) с именем исполняемого файла программы (которое мы узнали в предыдущем шаге) . В моем случае — это "civilization4.exe" (без кавычек и с маленькими буквами!) ;

Создание раздела / Реестр

далее в ветке с названием игры (программы) создайте еще один раздел (папку) и назовите ее "PerfOptions" , см. пример ниже;

последний штрих: в разделе "PerfOptions" создайте параметр DWORD (32), присвойте ему имя " CpuPriorityClass " и задайте значение исходя из требований, в моем случае это "3" ( прим.: 1 — низкий приоритет; 5 — ниже среднего; 8 — средний; 6 — выше среднего; 3 — высокий) .

Создать параметр DWORD32

в конечном итоге получится так, как показано на скрине ниже.

Что получилось в итоге!

  • теперь при запуске игры Civilization — Windows будет автоматически выставлять ей высокий приоритет.
  • Для Windows 7 есть спец. программа Prio, позволяющая задавать (и сохранять) приоритеты для практически любых программ и процессов. Правда, в Windows 10 она не работает (поэтому выше я и привел универсальный рабочий способ для всех современных ОС Windows).

    Запуск приложения с нужным приоритетом (через командную строку)

    Есть еще один вариант задания приоритета приложению — речь идет о командной строке (разумеется, если создать "BAT" файл — то запуская его, можно всегда иметь программу с нужным приоритетом) .

    Как это сделать:

      создать на рабочем столе (например) обычный текстовый файл;

    Создать текстовый документ

  • далее добавить в него "определенную строку": cmd.exe /c start /high /D "C:gamesSid Meier’s Civilization 4 CompleteBeyond the Sword" Civ4BeyondSword.exe
  • обратите внимание, в этой строке вам нужно изменить путь до установленной игры (программы) на диске ("C:gamesSid Meier’s Civilization 4 CompleteBeyond the Sword") и название ее исполняемого файла (Civ4BeyondSword.exe) на свои данные;
  • Вставка строки в блокнот и сохранение

    после чего сохраните текстовый файл, закройте его и переименуйте расширение: с "TXT" на "BAT" (или "CMD"). Если у вас не отображается расширение файла, ознакомьтесь вот с этой заметкой: https://ocomp.info/kak-uv >

    Изменяем расширение блокнота с TXT на CMD

  • теперь можно кликать на получившийся файл и игра будет запускаться с нужным вам приоритетом. Удобно?!
  • Дополнения по теме будут весьма кстати.

    По умолчанию всем процессам выставляется обычный приоритет в Windows 10. Можно понизить или повысить приоритет отдельного процесса, в независимости от конкретного приложения или игры. Доступны следующие основные значения приоритетов: реального времени, высокий, обычный и низкий и промежуточные значения: выше среднего и ниже среднего.

    Эта статья расскажет, как повысить приоритет процесса в Windows 10. Изменение приоритетов рекомендуется использовать на слабых компьютерах, где нет большого запаса вычислительной мощности процессора. Именно на таких системах наблюдается повышение производительности требовательных игр или программ.

    Как изменить приоритет процесса в Windows 10

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

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

    1. Запустите классический диспетчер задач нажав сочетание клавиш Ctrl+Shift+Esc.
    2. Перейдите в раздел Подробности и в контекстном меню выберите Задать приоритет.

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

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

    Как изменить приоритет сетевого подключения в Windows 10

    Ранее описанная программа NetLimiter 4 помогает ограничить скорость Интернета на компьютере. Если же Вы имеете в наличии материнскую плату со встроенным сетевым контроллерам Killer, тогда можете использовать программу Killer Control Center.

    Устанавливая приоритет в домашней сети для процессов, пользователь автоматически ограничивает скорость Интернета для приложений с низким приоритетом. Например, в утилите Killer Control Center по умолчанию более высокий приоритет устанавливается для игр и низкий для приложений и процессов в системе. Это позволяет минимизировать потери в доставке Интернет-пакетов.

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

    Давайте поговорим о приоритетах Windows процессов. В большинстве случаев «играться» с настройкой приоритетов нет необходимости, но, иногда, грамотный системный администратор может помочь системе более правильно распределить процессорное время между запущенными задачами. Единого рецепта нет, но путем «подбора и перебора» это вполне реализуемо. Где это может понадобиться? Например, в связке 1С-SQL можно дать больше процессорного времени 1С и SQL, как наиболее критичным к ресурсам процессам.

    В общем случае, посмотреть и изменить приоритет запущенного процесса можно через Task Manager

    Windows NT/2000/7/2008

    В Windows 2012 это “закопали» чуть глубже

    Как видно из приведенных примеров, вам доступно всего 6 приоритетов (как выяснится позже, это классы приоритетов). Достаточно? Microsoft считает, что да. Но давайте вспомним «легендарную» фразу Билла Гейста, который сказал, что «640 KB of RAM will be enough for everybody”. Но время показало, что это далеко не так. : )

    А теперь давайте разберемся, как это есть на самом деле.

    На самом деле в Windows существует 32 уровня приоритета, от 0 до 31.

    Они группируются так:

    • 31 — 16 уровни реального времени;
    • 15 — 1 динамические уровни;
    • 0 — системный уровень, зарезервированный для потока обнуления страниц (zero-page thread).

    При создании процесса, ему назначается один из шести классов приоритетов:

    1. Real time class (значение 24),
    2. High class (значение 13),
    3. Above normal class (значение 10),
    4. Normal class (значение 8),
    5. Below normal class (значение 6),
    6. или Idle class (значение 4).

    Посмотреть приоритет процесса, как писалось выше, можно, используя Task Manager.

    Приоритет каждого потока (базовый приоритет потока) складывается из приоритета его процесса и относительного приоритета самого потока. Есть семь относительных приоритетов потоков:

    1. Normal : такой же как и у процесса;
    2. Above normal : +1 к приоритету процесса;
    3. Below normal : -1;
    4. Highest : +2;
    5. Lowest : -2;
    6. Time critical : устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15.
    7. Idle : устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.

    В следующей таблице показаны приоритеты процесса, относительный и базовый приоритеты потока.

    Класс процесса
    Idle classBelow normal classNormal classAbove normal classHigh classReal time class
    1IdleIdleIdleIdleIdle
    2Lowest
    3Below …
    4Idle classNormalLowest
    5Above …Below …
    6Below normal classHighestNormalLowest
    7Above …Below …
    8Normal classHighestNormalLowest
    9Above …Below …
    10Above normal classHighestNormal
    11Above …Lowest
    12HighestBelow …
    13High classNormal
    14Above …
    15Highest
    15Time criticalTime criticalTime criticalTime criticalTime critical
    16Idle
    17
    18
    19
    20
    21
    22Lowest
    23Below …
    24Real time classNormal
    25Above …
    26Highest
    27
    28
    29
    30
    31Time critical

    Теперь, когда мы все это узнали, что же с этим всем можно сделать? Ну, например, начать использовать.

    Как еще можно запустить процесс с «нестандартным» приоритетом или изменить?

    Метод 1. Запустить задачу/процесс и изменить приоритет через Task Manager.

    • Доступно только 6 приоритетов
    • Переключение приоритетов производится мышкой, не автоматизируется.

    Метод 2. Можно воспользоваться командой START с соответствующими ключами

    Доступные ключи, отвечающие за приоритеты, следующие (я умышленно опускаю ключи командной строки команды START не имеющие отношения к описываемому процессу работы с приоритетами):

    C:>start /?
    Starts a separate window to run a specified program or command.
    START [«title»] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
    [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
    [/NODE ] [/AFFINITY ] [/WAIT] [/B]
    [command/program] [parameters]
    LOW Start application in the IDLE priority class.
    NORMAL Start application in the NORMAL priority class.
    HIGH Start application in the HIGH priority class.
    REALTIME Start application in the REALTIME priority class.
    ABOVENORMAL Start application in the ABOVENORMAL priority class.
    BELOWNORMAL Start application in the BELOWNORMAL priority class.

    Как видим, команда START дает возможность запустить процесс все с теми же 6-ю приоритетами, которые доступны через Task Manager

    • Доступно только 6 приоритетов

    Метод 3. Использование утилиты wmic.exe

    Как было показано выше, Task Manager, и команда START достаточно неуклюжи для задачи назначения приоритетов. Посмотрим, как это применять более гибко. Будем использовать утилиту wmic.exe.

    wmic process where name=»AppName» CALL setpriority ProcessIDLevel

    wmic process where name=»calc.exe» CALL setpriority 32768

    wmic process where name=»calc.exe» CALL setpriority «above normal»

      >Отступление. Что делать если существует несколько одноименных процессов? Приоритет процесса можно менять как по имени процесса, так и с использованием PID (Process ID) процесса.

    Вот короткий пример запуска wmic.exe для получения необходимой информации

    wmic process list brief

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

    wmic process list brief | find «cmd.exe»

    Специально запустил несколько копий cmd.exe, чтобы иллюстрация была более полной.

    Теперь список процессов ограничен только теми процессами, в имени исполняемого модуля которых присутствует строка «cmd.exe». Обратите внимание на PID процесса(ов).

    Теперь давайте попробуем отобрать интересующие нас процессы, используя непосредственно WMI и не прибегая к стандартным средствам командной строки. Для этого просто напишите:

    wmic process where description=’cmd.exe’ list brief

    Сравните полученные результаты. Запомните PID процесса CMD.EXE.

    Командная строка для запуска wmic.exe

    wmic process where process CALL setpriority ProcessIDLevel

    Ну а теперь можем изменить приоритет конкретного процесса (например с P >

    wmic process where process CALL setpriority 32768

    wmic process where process

    А что дальше? Прикидывать, пробовать, подбирать и тонко регулировать приоритеты. Улучшая работу сервисов и процессов, а также работу конечных пользователей.

    «>