Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Службы - Как задать ВЫСОКИЙ приоритет ввода/вывода(IoPriority) и PagePriority через реестр/cmd

Ответить
Настройки темы
Службы - Как задать ВЫСОКИЙ приоритет ввода/вывода(IoPriority) и PagePriority через реестр/cmd

Пользователь


Сообщения: 65
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: 19w85
Дата: 17-06-2011
Так задается приоритет "Very Low":
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\xyz.exe\PerfOptions]
"IoPriority"=dword:00000000
Так задается приоритет "Low":
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\xyz.exe\PerfOptions]
"IoPriority"=dword:00000001
Так задается приоритет "Normal" (идет по дефолту):
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\xyz.exe\PerfOptions]
"IoPriority"=dword:00000002
Вопрос: как через реестр задать для нужного exe-шника хоть какой-нибудь приоритет выше "Normal"? (Выше среднего, высокий и т.п.? Например, программа Process Lasso умеет задавать приоритет ввода/вывода "Высокий", т.е. установка более высокого приоритета всё-таки возможна, но через реестр ни при каких значениях мне это не удалось)

P.S. Если через реестр задать высокий приоритет всё-таки невозможно, то тогда может быть кто-нибудь подскажет как через командную строку запустить с высоким приоритетом?

Отправлено: 14:05, 16-06-2011

 

Пользователь


Сообщения: 65
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата user_z:
Так что Вы правы - установка высокого приоритета возможна.
Отлично

Цитата user_z:
А что Вам мешает использовать многократно упоминаемый Process Lasso»
Эту прогу нужно устанавливать + к этому придется держать постоянно запущенным ядро этой проги (которое еще много чего будет отслеживать судя по функционалу), собственно которое и будет поддерживать нужный приоритет для заданных запускаемых процессов.
А так никакого софта не нужно, ни устанавливать, ни держать потом запущенным (реестр вообще идеально, и батник тоже всё ещё неплохо)

Цитата user_z:
Там же есть исходный код - замените или допишите свою константу и скомпилируйте. »
При компилировании исходного кода из архива по той ссылке сыпятся куча ошибок (уже на двух компиляторах проверил)...т.е. еще ничего даже не редактировал в нём.

Отправлено: 09:06, 17-06-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 55
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата 19w85:
При компилировании исходного кода из архива по той ссылке сыпятся куча ошибок (уже на двух компиляторах проверил)...т.е. еще ничего даже не редактировал в нём. »
Я сейчас установлю VS и посмотрю, может у меня что получиться.

-------
ASUS X550LN


Отправлено: 09:23, 17-06-2011 | #12


Ветеран


Сообщения: 1958
Благодарности: 306

Профиль | Отправить PM | Цитировать


Уточню согласно книги Windows Internals Fifth Edition - стр.547 существует:
I/O Priority ---------- Usage
Critical --------------- Memory manager
High ----------------- Not use
Normal -------------- Normal application I/O
Low ----------------- Not use
Very Low ----------- Schedule, Superfetch, defrag, content index, background activities

Отправлено: 09:28, 17-06-2011 | #13


Пользователь


Сообщения: 55
Благодарности: 6

Профиль | Отправить PM | Цитировать


Valeant,
Это верно для Vista, в Seven Schedule и defrag получают приоритет Low

-------
ASUS X550LN


Отправлено: 09:56, 17-06-2011 | #14


Пользователь


Сообщения: 65
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата user_z:
Я сейчас установлю VS и посмотрю, может у меня что получиться. »
Ну как результаты?

Отправлено: 10:30, 17-06-2011 | #15


Пользователь


Сообщения: 55
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата 19w85:
Ну как результаты? »
Скомпилировалось без ошибок, поменял константы, но высокий приоритет

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

Отправлено: 10:59, 17-06-2011 | #16


Пользователь


Сообщения: 65
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата user_z:
но высокий приоритет не ставит, зараза »
Присмотрелся, эта утилитка меняется сразу все три параметра. В исходном виде может пригодится разве что вернуть PagePriority=5 для процессов запущенных планировщиком заданий.

А если подправить значение PagePriority на большее 5, тоже не поставится?

P.S. А для установки High приоритета I/O через батник я всё-таки нашёл работающий вариант:
http://processhacker.sourceforge.net...php?f=14&t=139

Отправлено: 12:21, 17-06-2011 | #17


(*.*)


Сообщения: 36570
Благодарности: 6700

Профиль | Сайт | Отправить PM | Цитировать


Цитата 19w85:
Запущенный таким образом с повышенным приоритетом CPU до High НИКАК не влияет на I/O приоритет, он остаётся нормальным »
Я и не говорил, что это изменит приоритет I/O. Process Explorer показывает приоритет "как есть". Но вопрос в том, что на самом деле происходит, если сравнить запуск процесса с высоким приоритетом CPU (и обычным I/O) с запуском с высоким I/O, который в принципе не предусмотрен для приложений.

Ведь установка приоритета у вас не является самоцелью, не так ли? Должно быть, вы преследуете какую-то более конкретную цель. И раз уж вы так упорно ее преследуете, я полагаю, вы проводите сравнительное тестирование производительности приложения с разными приоритетами. Опубликуйте результаты!

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 12:30, 17-06-2011 | #18


Пользователь


Сообщения: 65
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
И раз уж вы так упорно ее преследуете, я полагаю, вы проводите сравнительное тестирование производительности приложения с разными приоритетами. Опубликуйте результаты!»
Я не провожу сравнительное тестирование. Я ищу баланс при котором обе нужные мне программы (одна из них utorrent, вторая специфическая и требовательная, критичная к задержкам) будут работать и не мешать друг другу. Понижение приоритетов utorrent'а меня не устроило, поэтому решил подойти с другой стороны. По первым наблюдениям High I/O ничего мне не дало, видимо проблема была не в этом. А вот с PagePriority пока не определился, поэтому всё ещё ищу способ задать значение больше 5.

Отправлено: 13:00, 17-06-2011 | #19


Пользователь


Сообщения: 55
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата 19w85:
А если подправить значение PagePriority на большее 5, тоже не поставится? »
Нет, ни 6, ни даже 0 не ставит. Только от 1 до 5.

uTorrent у меня работает с Normal I/O и Memory Priority = 0

-------
ASUS X550LN


Последний раз редактировалось user_z, 17-06-2011 в 13:30.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:21, 17-06-2011 | #20



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Службы - Как задать ВЫСОКИЙ приоритет ввода/вывода(IoPriority) и PagePriority через реестр/cmd

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Высокий приоритет заданному процессу 7human7 Скриптовые языки администрирования Windows 14 26-01-2012 16:34
Как через реестр задать параметры TCP/IP ? dascon Microsoft Windows 2000/XP 1 18-05-2007 14:06
Как в программе задать тот или иной приоритет ? XPurple Программирование и базы данных 2 22-05-2006 06:11
ошибка ввода-вывода Relax Хочу все знать 2 16-11-2003 01:13




 
Переход