Заметки сисадмина » Как задать пpиоpитет процесса еще пpи его запyске? Чтоб не лазить постоянно для этого в task manager?

Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Как задать пpиоpитет процесса еще пpи его запyске? Чтоб не лазить постоянно для этого в task manager?

2007-04-26 · Posted in Windows - XP

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

и поместить его в директорию 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
Thread Priority Real-Time High Normal Idle
Time Critical 31 15 15 15
Highest 26 15 10 6
Above Normal 25 14 9 5
Normal 24 13 8 4
Below Normal 23 12 7 3
Lowest 22 11 6 2
Idle 16 1 1 1

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

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

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

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

Leave a Reply