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

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

По определению, Windows является многозадачной операционной системой. То есть одновременно в ней могут выполняться несколько задач. Однако задача задаче рознь. И различие это заключается в приоритете. То есть, при выполнении какой-либо программы Windows распределяет ресурсы определенным образом, в зависимости от того, какой приоритет у какого процесса (программы). Программы в дальнейшем я буду называть процессами, так проще. Каждая запущенная программа в Windows представляет собой процесс. Приоритеты бывают разные - большие, маленькие, но об этом потом. Чем это может нам помочь? А вот чем. Многие сетуют на медленность выполнения программ на Vb. В свое время я на это наткнулся на самом наглядном примере. Представьте себе программу, которая должна через определенный интервал времени выполнять какое-либо действие - ну, например, что-то выводить пользователю. Просто - скажете Вы. Берем таймер и вперед. А если помимо этого периодически программа должна что-то еще считать, и не один раз, а таймеров много? Будет тормозить. Причем не Windows, а только программа. Несправедливо? Да. Это значит, что Windows отделяет мало ресурсов Вашей программе, которых ей явно недостаточно. Значит попросить у Windows больше, только как?

Вот так

Значит надо менять приоритет. Самое время о них поговорить. В Windows"98 приоритетов меньше, чем в Windows Me или 2000, но они таки есть J. Вот они.

Приоритет реального времени (real time) - программа выполняется так, как будто она одна и есть цель жизни Windows. Все ресурсы отдаются ей.

Высокий приоритет (high) - программа выполняется так, чтобы оставить чуть-чуть остальным приложениям.

Нормальный (normal) - выполнение идет обычным путем.

Низкий (idle) - если выполнение и идет, то только когда Windows делать нечего.

Ну так вот, запущенная программа сначала получает приоритет Normal, и выполняется своим чередом. При этом приоритете, что бы программа ни делала, она не сможет съесть ресурсов столько, чтобы повис Windows. В теории. Но нам так не подходит. Нам надо приоритет high или, если все очень напряжно, real time. Но real time - вещь опасная. Может запросто затормозиться даже мышка. А об остальных программах я и говорить на хочу. Просто копец и все тут. Итак, как же все таки приоритет поменять.

Снова API

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

Private Declare Function SetPriorityClass _ Lib "kernel32" (ByVal hProcess As Long, _ ByVal dwPriorityClass As Long) As Long

  • hProcess - это Handle процесса. О нем ниже.
  • dwPriorityClass - приоритет. Он то нам и нужен.

Константы приоритетов:

Private Const REALTIME_PRIORITY_CLASS = &H100 Private Const HIGH_PRIORITY_CLASS = &H80 Private Const NORMAL_PRIORITY_CLASS = &H20 Private Const IDLE_PRIORITY_CLASS = &H40

Все просто - берем константу и вперед, но нам надо получить Handle процесса. То есть, процесс и окно для Windows вещи хоть и почти синонимичные, но не всегда. Handle окна - одна вещь, Handle процесса - совсем другая. То есть, у процесса может быть много окон, но у окна только один процесс владелец. Значит, нам надо научиться находить Handle именно процесса. В этом нам поможет функция OpenProcess, которая после передачи ей параметров, скажет, что за Handle у процесса.

Private Declare Function OpenProcess _ Lib "kernel32" (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

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

Private Const PROCESS_QUERY_INFORMATION = &H400

bInheritHandle - переменная Boolean. Если ее передать True, то полученный Handle может в будущем быть использован другим процессом. Но нам это не надо. Передаем туда False.

DwProcessId - так, а это очередная вещь - идентификатор (id) процесса. Нам надо и его получить. Как? Просто! Функция GetCurrentProcessId, вызываемая без параметров (слава Богу) просто возвращает id текущего процесса.

Private Declare Function GetCurrentProcessId _ Lib "kernel32" Alias "GetCurrentProcessId" () As Long

Все. Можно вздохнуть и все сделать красиво.

Немного кода

Option Explicit Private Declare Function SetPriorityClass _ Lib "kernel32" (ByVal hProcess As Long, _ ByVal dwPriorityClass As Long) As Long Private Const REALTIME_PRIORITY_CLASS = &H100 Private Const HIGH_PRIORITY_CLASS = &H80 Private Const NORMAL_PRIORITY_CLASS = &H20 Private Const IDLE_PRIORITY_CLASS = &H40 Private Declare Function OpenProcess _ Lib "kernel32" (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Const PROCESS_QUERY_INFORMATION = &H400 Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long Private Sub SetPriority(Priority As Long) Dim ProcId As Long "переменная для id процесса Dim ProcHandle As Long "переменная для handle процесса ProcId = GetCurrentProcessId "получим id ProcHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcId) "получили Handle Call SetPriorityClass(ProcHandle, Priority) " ставим приоритет End Sub Private Sub Form_Load() "ставим приоритет SetPriority HIGH_PRIORITY_CLASS End Sub

Инструкция

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

В открывшемся окне диспетчера задач перейдите на вкладку «Приложения».

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

В выпавшем меню установите средний, высокий, низкий или другой приоритет.

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

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

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

Источники:

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

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

Инструкция

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

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

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

Можно повысить приоритет процесса и в Linux. Делается это через консоль. Нажмите команду top - перед вами появится текст. Теперь можно выполнять разные действия. Для повышения приоритета нажмите кнопку на клавиатуре r.

Если вам надо повысить приоритет процесса в игре, сделайте следующее. Например, возьмите игру 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. Но не просто посмотреть, а управлять распределением ресурсов с целью повышения быстродействия. Рассмотрим, как повысить приоритет в Диспетчере задач Windows.

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Однако, согласитесь, что, скажем, 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 : Отзывы о личных ощущениях в плане прироста производительности интересны ничуть не меньше чем вопросы;)