что значит приоритет реального времени в диспетчере задач
Повышение приоритета в Диспетчере задач операционной системы Windows
Мы часто используем одновременно несколько приложений: готовим текст, сёрфим по интернету, конвертируем видео для планшета, пользуемся словарём. Если программы не закрыты, они используют ресурс нашего компьютера. Посмотреть, что в реальности происходит, можно в специальной программе ОС Windows. Но не просто посмотреть, а управлять распределением ресурсов с целью повышения быстродействия. Рассмотрим, как повысить приоритет в Диспетчере задач Windows.
Работая со многими программами, компьютер переключается от одной к другой в определённой очерёдности. Те, которые он считает наиболее важными, выполняются первыми. Степень важности и называется приоритетом. Как правило, он управляется кодом самой программы. Но пользователь может сам сменить базовый параметр на какой-либо другой, тем самым сделав более быстрым то, что ему важно в данный момент.
Типы очерёдности
Степень важности имеет следующие градации:
Изменение значений очерёдности
Рассмотрим, как выставить приоритет в Диспетчере задач:
Когда это применяется? В основном для решения временных заданий. Например, вы смотрите фильм, и одновременно скачиваете какие-либо данные с интернета, и видео периодически прерывается. Повысив важность плеера, вы решите эту проблему. Ещё этим часто пользуются для повышения быстродействия браузера при работе в сети.
Как уже было сказано, изменение действует лишь определённый момент времени, пока работает программа. Когда она перезапускается, опять будут базовые значения. Рассмотрим, как можно более удобным способом сменить приоритет задач Windows.
Другие способы работы с быстродействием
Согласитесь, каждый раз экспериментировать с настройками весьма неудобно. Существуют специальные программы, которые позволяют упростить процедуру. Например, Process Explorer и Mz CPU Accelerator. Подробно на них останавливаться не будем, отметим лишь суть их работы.
Mz CPU Accelerator позволяет автоматически повышать значения для программы активного окна, делая это весьма эффективно. Кроме того, она позволяет управлять распределением ресурсов процессора, например, выделить программе одно или два ядра вместо всех. В общем, программа позволяет увеличить скорость работы приложений.
Process Explorer позволяет получить подробную информацию обо всех процессах, происходящих на компьютере и задать более продвинутые настройки, чем стандартное средство windows.
Таким образом, зная, как можно поменять уровень приоритета в Диспетчере задач, можно повысить скорость работы компьютера, избежать ошибок и зависания. Если у вас есть советы, как изменить этот параметр в той или иной ситуации при работе в windows, поделитесь ими с другими пользователями, оставив комментарий ниже.
Диспетчер задач-приоритет?
Вот список приоритетов, которые есть в системе Windows.
Извиняюсь, что по-английски, это просто скопировано из справочника по программированию.
HIGH_PRIORITY_CLASSIndicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal-priority or idle-priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.
IDLE_PRIORITY_CLASSIndicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.
NORMAL_PRIORITY_CLASSIndicates a normal process with no special scheduling needs.
REALTIME_PRIORITY_CLASSIndicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
А ЭТО ПЕРЕВОД К ВЫШЕ СТОЯЩЕМУ КОММЕНТУ.
МОЖ КОМУ ПРИГОДИТЬСЯ?
HIGH_PRIORITY_CLASSI определяет процесс, выполняющий критически важные для времени задачи, которые должны быть выполнены немедленно для правильной работы. Нити процесса высокоприоритетного класса вытесняют потоки процессов класса с приоритетом приоритета или бездействия. Примером может служить список задач Windows, который должен быстро реагировать при вызове пользователем независимо от нагрузки на операционную систему. Будьте предельно осторожны при использовании класса с высоким приоритетом, потому что высокоприоритетное приложение, связанное с процессором, может использовать почти все доступные циклы.
IDLE_PRIORITY_CLASSI определяет процесс, потоки которого выполняются только тогда, когда система неактивна и вытесняются потоками любого процесса, запущенного в классе более высокого приоритета. Примером является экранная заставка. Класс неактивного приоритета наследуется дочерними процессами.
NORMAL_PRIORITY_CLASSI определяет нормальный процесс без особых потребностей в планировании.
REALTIME_PRIORITY_CLASSI определяет процесс, который имеет наивысший возможный приоритет. Потоки процесса приоритетного приоритета в режиме реального времени вытесняют потоки всех других процессов, включая процессы операционной системы, выполняющие важные задачи. Например, процесс реального
Для чего задается приоритет процесса «реального времени»?
из того, что я читал в прошлом, вам рекомендуется не изменять приоритет ваших приложений windows программно, и если вы это сделаете, вы никогда не должны менять их на «в реальном времени».
Что делает настройка приоритета процесса «в реальном времени» по сравнению с «высоким» и «выше нормального»?
7 ответов
поток приоритета в реальном времени никогда не может быть опережен прерываниями таймера и работает с более высоким приоритетом, чем любой другой поток в системе. Таким образом, связанный с процессором приоритетный поток в реальном времени может полностью разрушить машину.
создание реалтайм приоритет потоков требует привилегий (SeIncreaseBasePriorityPrivilege), поэтому это может быть сделано только административными пользователями.
для Vista и за ее пределами, один вариант для приложений, которые требуют, чтобы они работали на приоритеты в реальном времени-использовать Служба Планировщика Мультимедийных Классов (MMCSS) и пусть он управляет приоритетом ваших потоков. MMCSS не позволит вашему приложению использовать слишком много времени процессора, поэтому вам не придется беспокоиться о танкере машины.
Windows иногда повышает приоритет потока по различным причинам, но это не повысит приоритет потока в другой класс приоритета. Это также не повысит приоритет потоков в классе приоритетов реального времени. Таким образом, высокоприоритетный поток не получит любой автоматический временный импульс в класс приоритетов реального времени.
глава Русиновича «внутри Windows» о том, как Windows обрабатывает приоритеты, является отличным ресурсом для изучения того, как это работает:
Это был бы самый высокий доступный параметр приоритета и обычно использовался бы только на коробке, которая была посвящена запуску этой конкретной программы. Это на самом деле достаточно высоко, что это может вызвать голодание потоков клавиатуры и мыши до такой степени, что они становятся невосприимчивыми.
Так что, если вам нужно спросить, не используйте его:)
в режиме реального времени является наивысшим приоритетом класс доступно для процесса. Поэтому он отличается от «высокого» тем, что на одну ступень больше, а «выше нормального» тем, что на две ступени больше.
аналогично, real-time также является уровнем приоритета потока.
приоритет процесса класс повышает или понижает все эффективные приоритеты потоков в процессе и поэтому считается «базовым приоритетом».
поскольку предполагается, что реальное время зарезервировано для приложений, которые абсолютно должны предвосхищать другие запущенные процессы, существует специальная привилегия безопасности для защиты от случайного использования. Это определяется политикой безопасности.
в NT6+ (Vista+), использование Vista Multimedia Class Scheduler-это правильный способ достижения операций в реальном времени в том, что не ОСРВ. Он работает, по большей части, хотя и не идеален, поскольку ОС не предназначена для операций в реальном времени.
Microsoft считает этот приоритет очень опасно, это правильно. Ни одно приложение не должно использовать его, кроме как в особых обстоятельствах, и даже тогда пытаться ограничить его использование временными потребностями.
Как только Windows узнает, что программа использует более высокий приоритет, чем обычно, кажется, что это ограничивает приоритет процесса.
установка приоритета от простоя до реального времени не изменяет использование ЦП.
Я обнаружил на своем многопроцессорном процессоре AMD, что если я отброшу один из процессоров ot, как последний, использование процессора будет максимальным, а последний процессор останется бездействующим. Скорость процессора увеличивается до 75% на моем Quad AMD.
Это в основном выше / больше во всем остальном. Клавиатура имеет меньший приоритет, чем процесс реального времени. Это означает, что процесс будет учитываться быстрее, чем клавиатура, и если он не может справиться с этим, то ваша клавиатура замедляется.
Как и все другие ответы, прежде чем в режиме реального времени дает этой программе приоритетный класс. Ничего не обрабатывается до тех пор, пока эта программа не будет обработана.
На моей машине pentium 4 я установил minecraft в режиме реального времени, так как это значительно повышает производительность игры, и система кажется полностью стабильной. так что в реальном времени не так плохо, как кажется, просто если у вас есть многоядерный набор сродства программы к определенному ядру или ядрам (просто не все из них, просто чтобы все остальное могло работать в случае, если программы в реальном времени будут отключены) и установите приоритет в режиме реального времени.
Как изменить приоритет процесса и как его сохранить (высокий, низкий)
Доброго времени!
Первый и самый главный вопрос, с которого следовало бы начать данную статью: зачем вообще менять приоритет и стоит ли это делать. 👀
Представьте, вот вы запускаете тяжелую игру (или редактор видео, или еще что-то. ) далеко на не самом мощном компьютере. Причем, помимо вашей игры в Windows (обычно) запущено достаточно большое количество процессов, приложений. И в определенное время они могут «забирать» часть ресурсов себе — в результате игра время от времени притормаживает. 😥
Т.е. тема достаточно интересна, и может быть очень полезна как для любителей игр, так и для работы с видео, фото и пр. ресурсоемкими задачами.
Теперь ближе к сути.
Работа с приоритетами
Какие они бывают (основы)
У каждой запускаемой программы или процесса в Windows есть приоритет. Обычно, ОС Windows «сама знает» кому и что выделять, и делает это автоматически (без участия пользователя). Вообще разнообразие приоритетов не такое уж и большое:
📌 Еще один совет : нет необходимости выставлять приоритет каждой запускаемой программе (с этим Windows хорошо справляется в авто-режиме). Как правило, есть смысл указать приоритет для 2÷5 часто-используемых приложений, которые для вас наиболее важны (например, для любимой игры 😉).
Изменение приоритета
Итак, чтобы поменять приоритет работающей программы (процесса) в Windows — необходимо воспользоваться диспетчером задач. Для того, чтобы его вызвать — нажмите сочетание кнопок Ctrl+Shift+Esc (либо Ctrl+Alt+Del).
Для вызова диспетчера задач — нажмите Ctrl+Shift+Esc
Далее откройте вкладку «Подробности» (это для Windows 11/10, для Windows 7 — «Процессы» ) и найдите в списке нужный процесс ( прим. : название программы совпадает с названием процесса).
После, на нужном процессе кликните правой кнопкой мышки: в появившемся меню перейдите во вкладку «Задать приоритет» и укажите нужный вам. 👇
Задание приоритета для запущенного процесса
Собственно, на этом всё! Теперь запущенная программа будет работать с новым приоритетом. 📌 При выставлении приоритета реального времени — возможно, компьютер начнет тормозить и зависать!
Сохранение приоритета с помощью настроек реестра
После перезагрузки компьютера (или при перезапуске программы) — установленный вами приоритет сбрасывается (т.е. Windows снова задает его автоматически). И это не очень удобно.
Но с помощью настроек реестра можно «сохранить» указанный вами приоритет (т.е. Windows будет «знать», что эту программу нужно запустить с таким-то приоритетом).
regedit — открыть редактор реестра
Какую ветку в реестре нужно открыть
Узнаем название исполняемого файла игры / Кликабельно
Создание раздела / Реестр
Создать параметр DWORD32
Что получилось в итоге!
Для Windows 7 есть спец. программа Prio, позволяющая задавать (и сохранять) приоритеты для практически любых программ и процессов. Правда, в Windows 10/11 она не работает (поэтому выше я и привел универсальный рабочий способ для всех современных ОС Windows).
Запуск приложения с нужным приоритетом (через командную строку)
Есть еще один вариант задания приоритета приложению — речь идет о командной строке (разумеется, если создать «BAT» файл — то запуская его, можно всегда иметь программу с нужным приоритетом).
Создать текстовый документ
Вставка строки в блокнот и сохранение
Изменяем расширение блокнота с TXT на CMD
Дополнения по теме будут весьма кстати.
Управление приоритетами процессов в ОС Windows Vista и Windows 7
Приоритет процесса
Наверняка, практически все знают что такое приоритет процесса, если же нет, постараюсь кратко объяснить.
Это понятие, в определенном смысле, равно как для 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_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image 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_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options я создаю раздел sidebar.exe.
В нем создаю подраздел PerfOptions. И в этом подразделе создаю параметр DWORD (32бита) с названием CpuPriorityClass c десятичным значением 1.
Таким образом sidebar.exe теперь у меня всегда будет запускаться с низким приоритетом (Idle).
Так же все вышеописанные операции можно делать и через командную строку (cmd).
Я написал небольшой универсальный пакетный файл, который все это делает за пользователя.
Ссылка на пакетный файл: save_process_priority.cmd
В пакетном файле все пункты расписаны на русском языке. От пользователя потребуется только вводить нужное ему имя процесса и выбирать приоритет.
Для того что бы ваши настройки приоритета вступили в силу, необходимо перезапустить процесс. Если же вы внесли сразу несколько системных процессов, перезагрузите систему, так будет проще.
Это необходимо потому, что данные с реестра считываются только при загрузке и запуске программ, но не при их работе.
Вот и все, спасибо за внимание =)
Если заметили ошибку, обязательно сообщите, буду очень благодарен.