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

Компьютерный форум 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

 

(*.*)


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

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


19w85, если верить этой статье (судя по всему, человек изучал вопрос), Microsoft не рекомендует задавать приоритет I/O для приложений напрямую. Вместо этого рекомендуется задавать приоритет CPU, откуда уже производной идет приоритет I/O. Поэтому и нет соотв. параметров реестра. В той же статье есть ответ на вопрос, как это делает Process Lasso.

Процессу приоритет задается в командной строке: strat /?

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

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

Отправлено: 15:14, 16-06-2011 | #2



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

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


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


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

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


Vadikan, спасибо за ответ.

Цитата Vadikan:
В той же статье есть ответ на вопрос, как это делает Process Lasso. »
А в двух словах, не переведете-перескажите? (не силен в английском и переводчик тут не очень помогает)

Цитата Vadikan:
Вместо этого рекомендуется задавать приоритет CPU, откуда уже производной идет приоритет I/O. »
А я читал (например, даже тут http://www.oszone.net/4364/Windows_Vista), что приоритет на CPU как раз не влияет на приоритет I/O и фоновый процесс с низким приоритетом CPU (но дефолтовым нормальным приоритетом I/O) будет также "тормозить" систему, как если бы он был с обычным приоритетом CPU.


Цитата Vadikan:
Процессу приоритет задается в командной строке: strat /? »
В данном контексте, конечно, что же имелось ввиду задание приоритета I/O при запуске процесса через батник. (в процессе поиска для unix попадались утилиты, для windows консольных утилит пока не нашёл )

Отправлено: 15:48, 16-06-2011 | #3


(*.*)


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

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


Цитата 19w85:
А в двух словах, не переведете-перескажите? (не силен в английском и переводчик тут не очень помогает »
Там идет речь о программных методах, для разработчиков. Вас же интересует совсем другое.
Цитата 19w85:
В данном контексте, конечно, что же имелось ввиду задание приоритета I/O при запуске процесса через батник. »
Повторю свою мысль, простите уж за дублирование
Цитата Vadikan:
Вместо этого рекомендуется задавать приоритет CPU, откуда уже производной идет приоритет I/O.
<...>
Процессу приоритет задается в командной строке: strat /?»
И разжую:
Код: Выделить весь код
start /high /d"C:\Windows" notepad.exe

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


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


Аватара для Vancouver

Ветеран


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

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


Уже постилось, на примере μTorrent Here be dragons: Управление памятью в Windows как оно есть [3/3]

-------
Нефиг ставить то, к чему второй сервис-пак не вышел.
"Есть старое правило - чтобы не было геморроя, руки должны быть прямыми, а извилины - кривыми, но не наоборот." © Korzh


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


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


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

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


Цитата Vadikan:
Повторю свою мысль, простите уж за дублирование »
Повоторяться не стоит, т.к. это всё равно не ответ на поставленный вопрос. Командой start я, конечно, же умею пользоваться.
Запущенный таким образом с повышенным приоритетом CPU до High НИКАК не влияет на I/O приоритет, он остаётся нормальным: http://i23.fastpic.ru/big/2011/0617/...1fb97cae9f.png
Т.е. вот тоже повторюсь:
Цитата 19w85:
А я читал (например, даже тут http://www.oszone.net/4364/Windows_Vista), что приоритет на CPU как раз не влияет на приоритет I/O и фоновый процесс с низким приоритетом CPU (но дефолтовым нормальным приоритетом I/O) будет также "тормозить" систему, как если бы он был с обычным приоритетом CPU. »
Приоритет CPU и I/O разные вещи. Меня интересует повышение именно второго, т.е. I/O

Цитата Vancouver:
Уже постилось, на примере μTorrent Here be dragons: Управление памятью в Windows как оно есть [3/3] »
Что именно постилось? Эту статью я уже читал ранее. Ответа на сабж я там не нашёл ни тогда, ни сейчас.

Раз уж выяснилось, что штатными средствами Win7 установка High приоритета на I/O не предусмотрена, то уточняю вопрос:
Возможно ли тогда с помощью какой-нибудь консольной утилиты запустить нужный процесс с High приоритетом I/O?

Последний раз редактировалось 19w85, 17-06-2011 в 06:43.


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


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


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

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


Я когда-то искал способ повышения PagePriority до 6, но как оказалось, стандартными средствами этого не сделать. Тоже самое и с приоритетом В/В. Функция установки приоритета В/В - это функция ядра IoSetIoPriorityHint. Возможные варианты значений приоритета В/В. Вот тут уже интересно - высокий и критический приоритетет зарезервирован системой.
Цитата 19w85:
Например, программа Process Lasso умеет задавать приоритет ввода/вывода "Высокий", т.е. установка более высокого приоритета всё-таки возможна, но через реестр ни при каких значениях мне это не удалось) »
Следует проверить через windows performance tools, я не думаю, что происходит реальное изменение приоритета В/В. Если происходит, то здесь есть консольная утилита для установки CPU, memory и I/O приоритетов, но только Normal и ниже. Вместе с ней есть исходный код, который Вы можете отредактировать и скомпилировать по-своему усмотрению.
Это сообщение посчитали полезным следующие участники:

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


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


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

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


Цитата user_z:
Я когда-то искал способ повышения PagePriority до 6, но как оказалось, стандартными средствами этого не сделать »
И на каком нестандартном варианте повышения в итоге остановились?

Стандартным средствами (через реестр) как оказалось нельзя даже задать дефолтовые PagePriority=5
(например, планирощик заданий запускает все процессы с приоритетом I/O=Low и PagePriority=3. Через реестр можно это "исправить" для нужных процессов и "восстановить" I/O=Normal, а вот для PagePriority только максимум PagePriority=4 можно задать)

Цитата user_z:
Следует проверить через windows performance tools, я не думаю, что происходит реальное изменение приоритета В/В. »
Думаете все эти "Process Explorer", "Process hacker", "Process Lasso" ошибочно пишут I/O=High для тех процессов где поднят приоритет до высокого?

Цитата user_z:
Если происходит, то здесь есть консольная утилита для установки CPU, memory и I/O приоритетов, но только Normal и ниже. »
Normal и ниже можно и через рестр задать...

Отправлено: 07:37, 17-06-2011 | #8


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


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

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


Цитата 19w85:
И на каком нестандартном варианте повышения в итоге остановились? »
Оставил как есть
Цитата 19w85:
Стандартным средствами (через реестр) как оказалось нельзя даже задать дефолтовые PagePriority=5
(например, планирощик заданий запускает все процессы с приоритетом I/O=Low и PagePriority=3. Через реестр можно это "исправить" для нужных процессов и "восстановить" I/O=Normal, а вот для PagePriority только максимум PagePriority=4 можно задать) »
Ага, знаю. Такое ощущение, что пользователей ограничивают.
Цитата 19w85:
Думаете все эти "Process Explorer", "Process hacker", "Process Lasso" ошибочно пишут I/O=High для тех процессов где поднят приоритет до высокого? »
Сейчас испытаю, чуть позже отпишусь. Дело в том, что высокий приоритет - зарезервирован на уровне ядра.
Цитата 19w85:
Normal и ниже можно и через рестр задать... »
Там же есть исходный код - замените или допишите свою константу и скомпилируйте.

-------
ASUS X550LN


Отправлено: 07:52, 17-06-2011 | #9


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


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

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


Цитата user_z:
чуть позже отпишусь. »
Интересно то, что я не нашел в WPT высокого приоритета - там есть <=Low и >=Normal. Поэтому пришлось протестрировать "в живую":

Так что Вы правы - установка высокого приоритета возможна.
А что Вам мешает использовать многократно упоминаемый
Цитата 19w85:
Process Lasso»
для Вашей цели? Ведь в нем можно установить
Это сообщение посчитали полезным следующие участники:

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



Компьютерный форум 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




 
Переход