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

Запуская с помощью консольной команды start можно запускать приложение с нужным приоритетом, указывать время, через которое приложение должно быть закрыто, и некоторые другие параметры. Для более подробной справки почитайте start /? Все эти команды можно прописать в *.bat файле и пользоваться им для запуска приложени. Что бы не писать *.bat файлы для каждой программы отдельно, и не набирать команду целиком, можно сделать файлик high .bat , с таким содержимым

echo off

start /high %1

и поместить его в директорию SendTo профиля вашего пользователя. Тогда, что бы запустить программу с более высоким приоритетом, достаточно просто переслать её на этот файлик через правую кнопку мыши. Но пересылать надо именно исполняемый файл, а не shortcut к нему. Конечно же, этот файлик можно и переделать и запускать программы с другим приоритетом.

Дополнение: Ускорение запуска программ

XP может работать в двух режимах. Первый отводит больший приоритет запущенным пользователем приложениям (Optimize Performance for Applications ), второй отводит больший приоритет на фоновые приложения и службы (Optimize Performance for Background ). Настройку можно посмотреть, если выбрать значок System в Control panel , далее закладку Advanced и кнопку "Performance options ". (В русской версии Панель управления/Система/Дополнительно/Параметры быстродействия).

Первое значение (for Applications ) выделяет программам приоритет в зависимости от их уровня приоритета (priority level ). Если вы не знакомы с этим понятием, то вкратце поясним: по уровню компьютер решает, какие программы более важны и тратит на них больше процессорного времени. Уровень определяется двумя параметрами: классом приоритета (Priority Class ) и приоритетом нити (thread priority ). Классы бывают: реального времени (real –time ), высокого (high ), среднего (normal ), близкого к нулю (idle ) приоритетов. У нити выделяют следующие приоритеты: критичный ко времени (time critical ), высокий (highest ), выше среднего (above normal ), средний (normal ), ниже среднего (below normal ), низкий (low ) и близкий к нулю (idle ).

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

Priority Class

Значение от 1 до 31 показывает, сколько компьютерного времени выделяется на каждый процесс. Пользователь может изменить класс приоритета программы, причем двумя способами. Первый – через Диспетчер задач (Task Manager ). Он подходит, если программа уже запущена. Выбираем закладку "Процессы" (Processes ), нажимаем правую клавишу мыши на нужном процессе, выбираем строчку "Приоритет" (Set Priority ) и устанавливаем класс приоритета. Второй способ заключается в указании параметра при запуске программы, или создании командного (.CMD ) файла в текстовом редакторе. Параметры:

start /<класс приоритета> [<путь>]<имя файла>

Например, start /high c:\windows\notepad.exe

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

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



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

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

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

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

Не всегда, но все же бывает такое, что нам одновременно нужно использовать на компьютере подключение по локальной и Wi-Fi сети. А если обе сети имеют выход в Интернет, то операционная система Windows сама выбирает приоритетное подключение к нему. Но что же делать, если Интернет мы получаем от разных провайдеров, да еще и предоставляемая скорость разная. Плюс ко всему, в эру беспроводных технологий, скорость передачи данных по кабелю уже может быть не больше нежели через Wi-Fi, то какое же подключение является приоритетным в Windows?

В данной статье мы рассмотрим возможность самостоятельно расставить приоритеты на подключение к локальной, Wi-Fi или другой сети в операционных системах Windows 7, 8, 8.1, а также Windows 10 до обновления 1607 (Anniversary Update).

Шаг 1 Откройте все доступные подключения на вашем компьютере, для этого откройте меню ПУСК и в поле поиска введите Просмотр сетевых подключений или нажмите комбинацию клавиш Win+R и введите: ncpa.cpl



Шаг 2 В окне Сетевые подключения в меню Дополнительно выберите Дополнительные параметры . Если у вас нет меню, нажмите на клавиатуре клавишу Alt и оно появится


Шаг 3 Перед вами появится новое окно, где во вкладке Адаптеры и привязки Вы увидите все типы соединений из раздела Сетевые подключения. Теперь выберите тип подключения и воспользуйтесь клавишами / , которые расположены справа, чтобы изменить его расположение. То подключение, которое находится вверху — главное. Нажмите OK , чтобы применить изменения

После проделанных шагов Windows будет использовать Ethernet, Wi-Fi или другое выбранное вами соединение приоритетным для подключения к сети Интернет.

Больше полезной информации читайте на наших страницах в

Это руководство было сделано для 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 игра висла или вылетала, или вылетала при сворачивании, поэтому придуман способ устранения этой проблемы - режим *в окне без рамки *. Если у вас в полноэкранном режиме не вылетает и не зависает, оставляйте где больше фпс, у БОЛЬШИНСТВА в полноэкранном режиме дает больше фпс.