Уроки компьютерной грамотности

Уроки компьютерной грамотности

» » Как выставить высокий приоритет процесса. О интересных вещах из мира IT, инструкции и рецензии

Как выставить высокий приоритет процесса. О интересных вещах из мира IT, инструкции и рецензии

Тема не новая, но, может быть, кому-то пригодится. Как запускать процессы автоматически с высоким или низким приоритетом без левых программ и своими руками? Расскажу на примере 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 . Жмем по нему правой клавишей мыши и в контекстном меню выбираем «Приоритет», чтобы проверить, установился ли тот приоритет, который ты задавал.



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

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

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

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

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

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

Как же ускорить компьютер и процессор в теории

Однако, согласитесь, что, скажем, 3D игра и обычный блокнот, - это немного разные приложения и, очевидно, что игре нужно больше ресурсов процессора в реальном времени, т.к находясь в трехмерном приложении Вы вряд ли взаимодействуете с этим самым блокнотом и он Вам не нужен до поры до времени (да особых мощностей процессора блокноту почти не надо, - там той программы то.. раз два и нету).

Отсюда, вроде как логично вытекает, что приоритеты у разных приложений должны быть разные (особенно во времена многоядерности то), но на практике это далеко от реальности.

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

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

Вот об оном и пойдет речь в данной статье.

Как же ускорить компьютер на практике, используя программу

Месяца два назад я наткнулся на замечательную программку под названием Mz CPU Accelerator . Занимается она как раз тем, что автоматически изменяет процессорный приоритет активного окна или приложения на заранее указанный, что в общем-то нам и нужно, т.к именно оно и позволит ускорить процессор и компьютер.

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

Примечание . Как я раньше не наткнулся на это чудо, - не знаю:)

А именно:

  • ставим кружок Realtime ;
  • отмечаем галочки Load on Windows startup (чтобы программа загружалась сразу при старте системы);
  • Start Activated (чтобы программа была сразу активирована, т.е чтобы не требовала дополнительного нажатия кнопочки дабы приступить к своим обязанностям) и..
  • Start Minimized (чтобы была изначально свернута в трей).

По желанию так же можете отметить Check for updates on startup (чтобы сразу проверялось не вышли ли обновления программы), а так же на свой вкус выбрать как программа будет отображаться в трее: Show Mz CPU Accelerator Icon (в трее будет иконка самой программы) либо Shows CPU Usage (показывает насколько загружен ) (из выпадающего списка выбирается цвет цифр).

Всё, остается только нажать кнопку Activate и наслаждаться тем как ускорился компьютер, точнее говоря, активное окно или приложение.

Список полезных примечаний, которые стоит знать

Что еще стоит знать и понимать по этой теме:

  • Примечание : на вкладке Exlusions можно добавить приложения, которые Вы хотите исключить из списка оптимизируемых программой, т.е. она не будет присваивать оным какие-либо приортитеты. Для этого воспользуйтесь кнопкой Add new process и выберите программу, которую хотите исключить;
  • Примечание 2 : на вкладке CPU Manager можно распределить процессы на разные ядра (кнопки Add new process и Run new process ), т.е, скажем, отвести одним программам одни ядра, а другим другие, что в некотором смысле может сказаться на приросте производительности. По принципу схоже
  • Примечание 3 : я сам не сталкивался, но допускаю (пусть и маловероятно), что на некоторых машинках могут быть проблемы (в виде притормаживания системы) из-за выбора излишне высокого приоритета. В случае оных попробуйте использовать кружок High вместо Realtime .

Теперь перейдем к послесловию.

Послесловие

Вот такая вот штука. Вообще мне программа очень понравилась, т.к она реально эффективна и позволяет ускорить компьютер и Windows , и, условно говоря, процессор.

К слову, по идее особенно сильно прирост ощутят владельцы многоядерных процессоров, а так же пользователи браузера FireFox (он процессорозависим и при получении Realtime приоритета начинает ощутимо шустрее летать (особенно в купе )) и всех кто как-то связан с процессорозависимыми полновесными приложениями (это я про всякие рендеры в фото, видео и 3D редакторах).

Если есть какие-то вопросы, то, как и всегда, спрашивайте в комментариях к статье, - буду рад помочь.

PS : Отзывы о личных ощущениях в плане прироста производительности интересны ничуть не меньше чем вопросы;)

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

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

Типы очерёдности

Степень важности имеет следующие градации:

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

Изменение значений очерёдности

Рассмотрим, как выставить приоритет в Диспетчере задач:

ВАЖНО. Помните, что высокие значения для какой-то одной программы могут существенно снизить производительность машины в целом. Повышайте постепенно, и опытным путём найдите ту степень, которая сделает работу комфортной.

Когда это применяется? В основном для решения временных заданий. Например, вы смотрите фильм, и одновременно скачиваете какие-либо данные с интернета, и видео периодически прерывается. Повысив важность плеера, вы решите эту проблему. Ещё этим часто пользуются для повышения быстродействия браузера при работе в сети.

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

Другие способы работы с быстродействием

Согласитесь, каждый раз экспериментировать с настройками весьма неудобно. Существуют специальные программы, которые позволяют упростить процедуру. Например, Process Explorer и Mz CPU Accelerator. Подробно на них останавливаться не будем, отметим лишь суть их работы.

Mz CPU Accelerator позволяет автоматически повышать значения для программы активного окна, делая это весьма эффективно. Кроме того, она позволяет управлять распределением ресурсов процессора, например, выделить программе одно или два ядра вместо всех. В общем, программа позволяет увеличить скорость работы приложений.

Process Explorer позволяет получить подробную информацию обо всех процессах, происходящих на компьютере и задать более продвинутые настройки, чем стандартное средство windows.

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

Это руководство было сделано для 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"