Как задать приоритет программе в Windows 7

Как изменить приоритет процесса и как его сохранить (высокий, низкий)

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

Первый и самый главный вопрос, с которого следовало бы начать данную статью: зачем вообще менять приоритет и стоит ли это делать. Представьте, вот вы запускаете тяжелую игру (или редактор видео, или еще что-то. ) далеко на не самом мощном компьютере. Причем, помимо вашей игры в Windows (обычно) запущено достаточно большое количество процессов, приложений. И в определенное время они могут «забирать» часть ресурсов себе — в результате игра время от времени притормаживает. Смена приоритета процесса же позволяет указать Windows, что запущенная игра — это первоочередная задача, которой нужно выделить все основные ресурсы (а все остальное может подождать. ) . Благодаря заданию приоритетов для самых «главных» для вас программ — можно снизить количество притормаживаний и лагов, ускорить их работу. Т.е. тема достаточно интересна, и может быть очень полезна как для любителей игр, так и для работы с видео, фото и пр. ресурсоемкими задачами.

Как сохранить приоритет процесса в window 7

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

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

  1. Idle (низкий) — программы, выполнение которых может и подождать (при выставлении данного приоритета некоторый софт может тормозить) ;
  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 — «Процессы») и найдите в списке нужный процесс ( прим. : название программы совпадает с названием процесса) .

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

Не ставится высокий приоритет РЕШЕНИЕ 100%

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

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

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

После перезагрузки компьютера (или при перезапуске программы) — установленный вами приоритет сбрасывается (т.е. 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 — высокий) .

Читайте также:
Программа как увеличить диск с в Windows 7 без потери данных

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

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

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

Для 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-uvidet-skryityie-faylyi-i-papki.html Изменяем расширение блокнота с TXT на CMD
  • теперь можно кликать на получившийся файл и игра будет запускаться с нужным вам приоритетом. Удобно?!
  • Дополнения по теме будут весьма кстати.

    Добавляем в контекстное меню Проводника Windows раздел для запуска программ с выбранным приоритетом загрузки CPU.

    Любая операционная система Windows в автоматическом режиме распределяет ресурсы процессора между разными процессами. Выделяемый объем ресурсов CPU для конкретного процесса зависит от выполняемых задач, а также от приоритета. Выше приоритет – больше предоставляемых вычислительных мощностей. Вручную задавать приоритет для того или иного процесса можно в диспетчере задач на вкладке «Подробности».

    Для быстрого доступа к изменению приоритета можно добавить соответствующий пункт в контекстное меню проводника Windows. Для этого создадим специальный REG-файл для внесения изменений в реестр. Открываем стандартный «Блокнот» и копируем туда следующую запись:

    Windows Registry Editor Version 5.00

    «MUIVerb»=»Выполнить с приоритетом»

    Далее сверху нажимаем «Файл» → «Сохранить как». Указываем место сохранения. В строке «Имя файла» вводим название Add CPU priority change , ставим точку и прописываем расширение файла reg . В строке «Кодировка» выставляем Юникод.

    Теперь остается запустить созданный REG-файл (двойной щелчок левой кнопкой мыши или клик правой кнопкой, затем выбрать первый пункт «Слияние»), согласится с предупреждением о том, что данный файл внесет изменения в реестр.

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

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

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

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

    Для удаления раздела выбора приоритета CPU из контекстного меню создаем еще один REG-файл, где значения будут следующими:

    Windows Registry Editor Version 5.00

    Управление приоритетами процессов в ОС Windows Vista и Windows 7

    Приоритет процесса

    Наверняка, практически все знают что такое приоритет процесса, если же нет, постараюсь кратко объяснить.

    Это понятие, в определенном смысле, равно как для Windows, так и для Linux, а так же для некоторых других операционных систем.

    Сейчас речь пойдет об операционных системах Windows Vista и Windows 7.

    Windows Vista и Wnidows 7, впрочем, как и предыдущие версии, системы мультизадачные, т.е. могут выполнять параллельно множество программ, причем, еще и мультипоточные, но это уже отклонение, точнее, ненужное углубление в тему.

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

    Чем выше приоритет процесса, тем больше ему выделяется процессорного времени, чем ниже приоритет, тем меньше процессу выделяется процессорного времени.
    Или если простым языком — чем выше приоритет, тем чаще и больше процессор «уделяет внимание» процессу и его операциям, а чем ниже приоритет, тем меньше «уделяет внимание».

    Читайте также:
    Как пользоваться программой onenote Windows 10

    Соответственно это сказывается на скорости выполнение той или иной программы.

    Практическая польза от изменения приоритета процесса

    В Windows 7 меня изначально удивлял тот факт, что по-сути чисто декоративным процессам, вроде sidebar.exe (гаджеты на рабочий стол) уделяется процессорного времени ровно столько же, как и остальным процессам.
    При этом sidebar.exe сам по себе не выполняет каких-то сверх важных и сверх нужных функций. Так зачем же ему уделять столько же процессорного времени, как, например, тяжелому ресурсоёмкому приложению, вроде 3D-игры или 3D-редактора с большой сценой?

    Исходя из этого вопроса я и начал, что называется, играть с приоритетами процессов.
    Главное что я понял, выше приоритета Normal (Средний) пользовательским программам лучше не подниматься, ибо тогда Windows Vista/7 может начать некорректно распределять процессорное время и некоторые важные системные процессы начнут «подтормаживать».

    На самый крайний случай, нужному вам пользовательскому процессу можно выставить приоритет AboveNormal (Выше среднего), но это в очень редких случаях добавляет ощутимую разницу в производительности программе.
    Но при этом никто не запрещает снизить приоритет другим, мало или не столь важным процессам, дабы они не отъедали ценное процессорное время, например, у игры.
    Часто такие манипуляции действительно позволяют выиграть 5-10FPS.

    Автоматический запуск процесса с определенным приоритетом

    Недостаток, который известен многим — при изменении приоритета через «Диспетчер задач», он сохраняется лишь до завершения процесса, потом же процесс вновь запускается с приоритетом по-умолчанию. Т.е. ваши настройки приоритетов не запоминаются.
    Из-за этого в интернете появилось множество программ, которые запоминают ваш выбор приоритета, а при следующем запуске программы, меняют его за вас автоматически.

    Я же изначально не поверил в то, что в Windows нет какого-нибудь инструмента для управления и запоминания приоритета процесса и начал рыть документацию на сайтах Microsoft.
    Не буду разводить полемику на тему плохой документированности возможностей Windows, но я оказался прав.
    Любому процессу в Windows можно вручную через реестр указать приоритет и еще некоторые свойства, с которыми он будет запускаться.

    Путь к разделу реестра:

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options

    Как запустить редактор реестра?

    Нажмите сочетание клавиш Win+R (быстрый вызов команды «выполнить»), в появившемся окошке, в текстовой строке наберите regedit и нажмите Enter =)

    Для того, что бы указать приоритет для процесса, с которым он должен сразу всегда запускаться, вам нужно в указанной выше ветке реестра создать раздел с его именем.
    Далее в нем создать еще один раздел, т.е. уже подраздел с названием PerfOptions, а уже в нем создать параметр DWORD (32бита) с названием CpuPriorityClass и задать ему одно из десятичных значений — 1, 2, 3, 5, 6.

    1 — приоритет Idle (низкий);
    2 — приоритет Normal (средний);
    3 — приоритет High (высокий);
    5 — приоритет BelowNormal (ниже среднего);
    6 — приоритет AboveNormal (выше среднего);

    Разберем на примере sidebar.exe.
    В ветке ресстра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options я создаю раздел sidebar.exe.
    В нем создаю подраздел PerfOptions. И в этом подразделе создаю параметр DWORD (32бита) с названием CpuPriorityClass c десятичным значением 1.

    Таким образом sidebar.exe теперь у меня всегда будет запускаться с низким приоритетом (Idle).

    Так же все вышеописанные операции можно делать и через командную строку (cmd).
    Я написал небольшой универсальный пакетный файл, который все это делает за пользователя.
    Ссылка на пакетный файл: save_process_priority.cmd

    В пакетном файле все пункты расписаны на русском языке. От пользователя потребуется только вводить нужное ему имя процесса и выбирать приоритет.

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

    Вот и все, спасибо за внимание =)
    Если заметили ошибку, обязательно сообщите, буду очень благодарен.

    Источник: onecomp.ru

    Управление приоритетами процессов в Windows

    date

    18.02.2016

    user

    Alex Kornev

    directory

    Windows Server 2012

    comments

    Один комментарий

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

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

    Windows NT/2000/7/2008

    Приоритете процессов в диспетчере задач

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

    Windows 2012 изменить приоритет процессов

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

    Читайте также:
    Программа для Windows 7 что бы установить игру

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

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

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

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

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

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

    Примечание: Приоритеты Above normal и Below normal появились, начиная с Windows 2000.

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

    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.

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

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

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

    Метод 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»

    • idle: 64
    • below normal: 16384
    • normal: 32
    • above normal: 32768
    • high priority: 128
    • real time: 256

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

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

    wmic process list brief

    Примечание: пример выполнения этой команды приводить не буду. Слишком большой список процессов получается. Сделаете это самостоятельно, при желании.

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

    wmic process list brief | find «cmd.exe»

    wmic process list brief

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

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

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

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

    wmic получаем информацию о процессах

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

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

    wmic process where processid=’XXXX’ CALL setpriority ProcessIDLevel

    Ну а теперь можем изменить приоритет конкретного процесса (например с PID=8476):

    wmic process where processid=’8476′ CALL setpriority 32768

    wmic process where processid=’8476′ CALL setpriority «above normal»

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

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

    Читайте далее в разделе Windows Server 2012

    page

    page

    page

    AutoRedial для VPN соединений Windows 8/2008/10/2012

    Автоматическая очистка логов IIS с помощью PowerShell

    Очистка журналов событий Windows с помощью PowerShell и wevtutil

    Отладочный журнал обработки GPO на клиентах — gpsvc.log

    Источник: winitpro.ru

    Повышение приоритета в Диспетчере задач операционной системы Windows

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru