О интересных вещах из мира IT, инструкции и рецензии. Управление приоритетами процессов в Windows Что такое высокий приоритет

Тема не новая, но, может быть, кому-то пригодится. Как запускать процессы автоматически с высоким или низким приоритетом без левых программ и своими руками? Расскажу на примере Windows 7, но действия будут аналогичными и в Windows 8 и 10.

Поздравляем участника конкурса

Этот текст был прислан на конкурс авторов, который мы запустили весной. Мы разобрались с большим количеством пришедших материалов, подвели итоги и наградили победителей. Автор этой заметки получил приз - трехмесячную подписку на «Хакер». Поздравляем!

Для начала выбираем программу или игру, которой хотим задать приоритет. Возьмем, например, браузер Google Chrome. Жмем правой клавишей мыши на ярлык Chrome и в контекстном меню выбираем расположение файла.


Не забудь указать «Показывать расширения файлов». Для этого в «Проводнике» выбирай «Упорядочить → Параметры папок → Вид» и снимай галочку «Скрывать расширения для зарегистрированных типов файлов», жми «Применить» и «OK».



Теперь копируем название chrome.exe , кликнув два раза по названию, и жмем Ctrl + C или выбираем в контекстном меню «Копировать».



Идем в реестр, для этого жмем Win + R и пишем regedit .



Жмем Enter, откроется редактор реестра.



Переходим по пути HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options . Жмем правой клавишей мыши по разделу «Image File Execution Options» и в контекстном меню выбираем «Создать» и «Раздел».



Называем новый раздел chrome.exe .



Если не выходит переименовать раздел и он назвался «Новый раздел #1», то кликаем на нем правой клавишей мыши и в контекстном меню выбираем «Переименовать».



В этом же разделе создаем еще один раздел. Назовем его PerfOptions и создадим в нем параметр DWORD (32 бита). Для этого жмем правой кнопкой мыши по разделу PerfOptions и в контекстном меню выбираем «Создать → Параметр DWORD (32 бита)».



Задаем систему исчисления «Десятичная» и в значении указываем приоритет в виде цифры - например, 3. Жмем ОK.


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

Закрываем реестр, запускаем браузер и диспетчер задач (Ctrl + Shift + Esc, Ctrl + Alt + Delete или правой клавишей мыши на панели задач и «Запустить диспетчер задач» в контекстном меню). В диспетчере задач переходим на вкладку «Процессы» и ищем процесс chrome.exe . Жмем по нему правой клавишей мыши и в контекстном меню выбираем «Приоритет», чтобы проверить, установился ли тот приоритет, который ты задавал.



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

Конкурс продолжается

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

Инструкция

Нажмите сочетание клавиш «Ctrl+Alt+Delete». На экране появиться список действий, которые можно выполнить.

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

Полезный совет

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

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

Источники:

  • как изменить свои приоритеты

Планировка процессов в UNIX основывается на их приоритете . Обычно каждый процесс имеет два приоритетных атрибута. В Windows существует 32 уровня приоритетов. На компьютере можно ускорять работу программ, которые находятся в операционной системе. Для этого надо только повысить приоритет процесса .

Инструкция

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

Повысить приоритет можно также с помощью утилиты InqSoft Speedballs. Данная отслеживает все процессы. Запустите ее . Повышение приоритета процесса автоматически. Зайдя в «Настройки», вы можете изменить параметры. В меню, где написано «Повышать приоритет до», поставьте галочку на High и нажмите «Применить».

В «Панели управления» зайдите в раздел «Настройка». Выберите пункт «Производительность и обслуживание». Перейдите в меню «Система» и переключитесь на вкладку «Быстродействие». Найдите раздел Application Performance и установите с помощью нужный уровень приоритета процесса .

Если вам надо повысить приоритет процесса в игре, сделайте следующее. Например, возьмите игру World of Warcraft. Откройте «Пуск», далее программу «Блокнот». Вставьте следующий текст: @echo off cd/d "C:/Program Files/World of Warcraft"start/high wow.exe. Измените вот этот путь: "C:/Program Files/World of Warcraft" на новый, который будет у вас. Сохраните написанный ранее текст в «Блокноте», в .bat. Через этот файл запускайте вашу игру. Вы заметите увеличение приоритета.

Источники:

  • как изменить приоритет про

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

Инструкция

Запустите диспетчер задач Windows. Сделать это можно несколькими способами - например, нажатием сочетания клавиш Ctrl + Alt + Delete. В ОС Windows 7 при этом на экране появляется дополнительное меню, в котором следует выбрать пункт «Запустить диспетчер задач», а в более ранних версиях Windows этого промежуточного шага нет. Другой способ открытия диспетчера задач заключается в вызове нажатием сочетания клавиш Win и R окна запуска программ с последующим вводом команды taskmgr и щелчком по кнопке OK.

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

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

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

Если поставить высокий приоритет приложению, то оно начнет работать быстрее. У меня лично есть скрипт, который выставляет всем процессам приоритет Высокий. И вы знаете — реально все работает быстрее, страницы открываются быстрее. Правда и Хром при этом грузит процессор еще сильнее.

Итак, я сейчас покажу как вручную установить высокий приоритет программе/процессу в Windows 10. Для примера я возьму.. аську (ICQ). Аська это программа для общения, мессенджер, которая была очень популярна раньше. Но сейчас ей на смену пришли социальные сети, Вайбер, ну и все.. а хотя была оч популярная, да и удобная, у каждого был свой номер, и можно было друг другу написать. Да и сегодня можно — вот только мало кто ней пользуется сейчас. Так, ладно, запускаем диспетчер — правой кнопкой по панели задач и выбираем этот пункт:


Потом ищем ту программу, которой хотим задать высокий приоритет, у меня это аська, она тут называется как ICQ (32 бита):


Нажимаем по ней правой кнопкой и выбираем пункт Подробно:


После этого автоматом активируется вкладка Подробности, где будет выделен процесс программы, в моем случае это icq.exe. Нажимаем по нему правой кнопкой и выставляем приоритет:


Подтверждаем:


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

Стоит ли выставлять высокий приоритет игре? Если при этом вы закроете все программы, максимально все что можно — то да, стоит. И эффект будет лучше, если вы еще и интернет отключите и антивирус. Чем больше всего вы отключите — тем лучше будет работать высокий приоритет. Но игре не ставьте реальный приоритет, если у вас только не топовый процессор. Если топовый — то можете попробовать, но опять же, может все зависнуть. Дело в том, что ставя реальный приоритет.. вы указываете, что игру нужно обрабатывать в первую очередь. В плане процессорных команд. Ну хорошо, а что делать с остальными процессами, среди которых есть важные и системные? Вот они и могут недополучать ресурсов.. и в итоге может комп зависнуть раз, два, а на третий раз уже и не развиснуть..

Это руководство было сделано для Source 1, для Reborn будет проверено так же, как будет возможность.

Вступление

Руководство было полностью обновлено 1 февраля 2014 года. Большинство команд не изменились. Если же появились новые - пишите.

Расположение настройки

Расположение (скриншоты)

Список команд (запуск игры)

-console - запускает игру с включенной консолью. Подробнее:

-novid - при запуске отключает видеоролик, проигрываемый при запуске игры
-toconsole - принудительно запускает консоль , даже если указан параметр +map , заставляющий движок загрузить карту при запуске игры

Список команд

-override_vpk - игра будет читать игровые элементы в \steamapps\common\dota 2 beta\dota заменять и загружать их в игру. Команда предназначена для Модификаций .
Использование -override_vpk убрано Valve.
Вместо нее добавили немного другую команду:
-enable_addons - позволяет использовать разрешенные модификации ресурсов клиента (Мини-карту, HUD, иконки и скрипты звуков, скрипты музыки и флеш-видео )
-autoconfig - восстанавливает настройки графики по умолчанию. Игнорирует любые установленные конфиги до удаления данного параметра
-dev - включает режим разработчика . Также отключает автоматическую загрузку фоновой картинки меню и перестает запрашивать подтверждение о выходе.
Последние строки консоли будут отображаться поверх HUD игры. Не рекомендуется использовать
-nod3d9ex * - выключает (принудительно) directx 9 external rendering .
-d3d9ex * - включает (принудительно) directx 9 external rendering .
-32bit - запускает движок в 32-разрядном режиме. Полезно только для 64-х разрядных ОС.
-full или -fullscreen - запускать игру в полноэкранном режиме
-windowed или -sw - запускает игру в экранном режиме
-w **** -h **** - Запускает Dota 2 с определенным разрешением экрана (ширина и высота). К примеру: -w 1280 -h 1024
-noborder - не отображать рамку и заголовок окна при запуске игры в оконном режиме
-nosound - полностью отключает звук в игре
-nosync * - отключает вертикальную синхронизацию.
+exec "имя cfg файла" (без кавычек) - Автоматически подгружает конфигурационный файл CFG при запуске. Например, можно выполнить ваш специальный конфиг с настройками.
-noaafonts * - отключить TrueType шрифты (сглаживание шрифтов)
-insecure - VAC не используется при запуске сервера
-nomaster - созданный вами сервер не виден другим пользователям в списке серверов Steam
-gl - изменяет качество игры на OpenGL , по умолчанию стоит SoftWare.
-heapsize "ЧИСЛО" * - Задает размер файла подкачки (приемлемая цифра - размер в 2-4 раза больше объема физической оперативной памяти), который будет использовать игра (в килобайтах).
Рассчитывается по формуле: (оперативная память / 2 * 1024). Примеры чисел для ОП:

  • 512 МБ => 262144;
  • 1 ГБ => 524288;
  • 2 ГБ => 1048576;
  • 3 ГБ => 1572864;
  • 4 ГБ => 2097152;
  • 8 ГБ => 4194304
-low - запускает игру с НИЗКИМ приоритетом.
-high * - запускает игру с ВЫСОКИМ приоритетом.
-nojoy - отключает джойстик в игре
-noipx - не загружает IPX соединений , позволяет сэкономить оперативную память
-noforcemspd ** - использовать настройки скорости мыши из Windows;
-noforcemparms ** - использовать настройки кнопок мыши из Windows;
-noforcemaccel ** - использовать настройки ускорения мыши из Windows;
-freq "ЧИСЛО" или -refresh "ЧИСЛО" * - устанавливает частоту обновления экрана (для ЖК мониторов рекомендуется 60 Гц, а для ЭЛТ - 85 или 100 Гц)
-nocrashdialog - запрещает встроенный в игру отладчик, позволяет сэкономить немного оперативной памяти. Убирает диалог "memory could not be read ".
-condebug - включает режим отладки, при котором всё содержимое консоли будет записываться в файл console.log

* Помогут с оптимизацией FPS, но возможно и не все команды (что бы дота *не лагала *)
** Акселлерация мыши в Windows

Список команд (интерфейс меню)

-dota_embers 0 - Отключение анимации фона в главном меню (только так можно поставить старые фоны в меню, т.е. они будут без анимации)
-dashboard international_2012 - Изменение темы меню на International 2012
-dashboard international_2013 - Изменение темы меню на International 2013
-dashboard frostivus_2013 - Изменение темы меню на Frostivus 2013
-dashboard spirits_2013 - Изменение темы меню на 3 Spirits Update
-dashboard newbloom_2014 - Изменение темы меню на Newbloom

Список команд (неработающие)

-international
-international2012
-halloween
-perfectworld * - Подарочный орб через китайский клиент
-dxlevel :
-dxlevel 9 ; запуск с DirectX 9.
-dxlevel 8 ; запуск с DirectX 8.
-dxlevel 7 ; запуск с DirectX 7.
-dxlevel 6 ; запуск с DirectX 6.

* Может сломать клиент

Частые вопросы и проблемы

Между командами сохранять (писать) пробелы .
- Можно ли писать несколько команд? - Можно .
- Большинство проблем с игрой решается проверкой КЭШа .
- Если вы все-таки запустили игру с командой -perfectworld и намудрили с регистрацией китайского клиента, игрой и т.п. и при этом, после всего, Dota будет странно выглядеть нужно:

  • Проверить КЭШ
  • Поменять язык Dota с English на другой и обратно (в крайнем случае, такую же махинацию проделать с самим Steam)
- Проблема с отключением от сервера :
  • Через Диспетчер задач выставить для процесса Steam.exe приоритет реального времени (в крайнем случае, высокий приоритет )
  • Запустить игру с высоким приоритетом (-high )
- Проблема с невозможностью подключиться к серверу *:
  • Прописать параметр запуска -clientport 27015 (или 27011 -20 т.е любое число от 11 до 20 )
- Бесконечная загрузка Dota *:
  • Удалить все в папке \Steam\userdata\ и запустить проверку КЭШа.
* Не 100% решение

-high : высокий приоритет ЦП в вашей системе , не чит
-nod3d9ex : может дать небольшой прирост FPS и более быстрое ALT-TAB
Но! так же эта команда может сломать игру (только перестанет запускаться), а так же если 1 раз попробовав запустить игру с -nod3d9ex, рост FPS должен сохраниться , а потом спокойно убирать эту команду.
Попробуйте поставить режим *на весь экран *, у многих при *на весь экран * с включенной командой nod3d9ex игра висла или вылетала, или вылетала при сворачивании, поэтому придуман способ устранения этой проблемы - режим *в окне без рамки *. Если у вас в полноэкранном режиме не вылетает и не зависает, оставляйте где больше фпс, у БОЛЬШИНСТВА в полноэкранном режиме дает больше фпс.

Давайте поговорим о приоритетах 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.

Примечание : Приоритеты 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.

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

Приоритет потока Класс процесса Класс процесса
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 с соответствующими ключами

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

C:\>start /?
Starts a separate window to run a specified program or command.
START ["title"]


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 | 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 processid="XXXX" CALL setpriority ProcessIDLevel

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

wmic process where processid="8476" CALL setpriority 32768

wmic process where processid="8476" CALL setpriority "above normal"