Как поставить приоритет

Меняем приоритеты процессов в windows 7

Значение слова “приоритет”? А, слабо? Это привилегия, как в Египте была иерархия: фараоны и рабы, чуете разницу? Одни камни для пирамид таскают, а другие командуют – демократия!))

Так и у процессов бывают приоритеты, ах, вы же не знаете чего означает процессы!

https://www.youtube.com/watch?v=E9KBVm2o4yA

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

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

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

Фух, надеюсь, вы поняли мой посыл. А теперь поговорим о главном..

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

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

tipskettle.blogspot.ru

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

В Windows 7 меня изначально удивлял тот факт, что по-сути чисто декоративным процессам, вроде sidebar.exe (гаджеты на рабочий стол) уделяется процессорного времени ровно столько же, как и остальным процессам.

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

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

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

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

Наверняка, практически все знают что такое приоритет процесса, если же нет, постараюсь кратко объяснить. Это понятие, в определенном смысле, равно как для windows, так и для Linux, а так же для некоторых других операционных систем. Сейчас речь пойдет об операционных системах windows Vista и windows 7.

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

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

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

Или если простым языком — чем выше приоритет, тем чаще и больше процессор «уделяет внимание» процессу и его операциям, а чем ниже приоритет, тем меньше «уделяет внимание». Соответственно это сказывается на скорости выполнение той или иной программы. В 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 В пакетном файле все пункты расписаны на русском языке. От пользователя потребуется только вводить нужное ему имя процесса и выбирать приоритет. Для того что бы ваши настройки приоритета вступили в силу, необходимо перезапустить процесс.

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

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

В общем случае, посмотреть и изменить приоритет запущенного процесса можно через 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 class Below normal class Normal class Above normal class High class Real time class
1 Idle Idle Idle Idle Idle
2 Lowest
3 Below …
4 Idle class Normal Lowest
5 Above … Below …
6 Below normal class Highest Normal Lowest
7 Above … Below …
8 Normal class Highest Normal Lowest
9 Above … Below …
10 Above normal class Highest Normal
11 Above … Lowest
12 Highest Below …
13 High class Normal
14 Above …
15 Highest
15 Time critical Time critical Time critical Time critical Time critical
16 Idle
17
18
19
20
21
22 Lowest
23 Below …
24 Real time class Normal
25 Above …
26 Highest
27
28
29
30
31 Time critical

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

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

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

Минусы метода:

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

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

C:

Загрузка ...
Adblock detector