![]() |
Как задать ВЫСОКИЙ приоритет ввода/вывода(IoPriority) и PagePriority через реестр/cmd
Так задается приоритет "Very Low":
Код:
Windows Registry Editor Version 5.00 Код:
Windows Registry Editor Version 5.00 Код:
Windows Registry Editor Version 5.00 P.S. Если через реестр задать высокий приоритет всё-таки невозможно, то тогда может быть кто-нибудь подскажет как через командную строку запустить с высоким приоритетом? |
19w85, если верить этой статье (судя по всему, человек изучал вопрос), Microsoft не рекомендует задавать приоритет I/O для приложений напрямую. Вместо этого рекомендуется задавать приоритет CPU, откуда уже производной идет приоритет I/O. Поэтому и нет соотв. параметров реестра. В той же статье есть ответ на вопрос, как это делает Process Lasso.
Процессу приоритет задается в командной строке: strat /? |
Vadikan, спасибо за ответ.
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Код:
start /high /d"C:\Windows" notepad.exe |
Уже постилось, на примере μTorrent Here be dragons: Управление памятью в Windows как оно есть [3/3]
|
Цитата:
Запущенный таким образом с повышенным приоритетом CPU до High НИКАК не влияет на I/O приоритет, он остаётся нормальным: http://i23.fastpic.ru/big/2011/0617/...1fb97cae9f.png Т.е. вот тоже повторюсь: Цитата:
Цитата:
Раз уж выяснилось, что штатными средствами Win7 установка High приоритета на I/O не предусмотрена, то уточняю вопрос: Возможно ли тогда с помощью какой-нибудь консольной утилиты запустить нужный процесс с High приоритетом I/O? |
Я когда-то искал способ повышения PagePriority до 6, но как оказалось, стандартными средствами этого не сделать. Тоже самое и с приоритетом В/В. Функция установки приоритета В/В - это функция ядра IoSetIoPriorityHint. Возможные варианты значений приоритета В/В. Вот тут уже интересно - высокий и критический приоритетет зарезервирован системой.
Цитата:
|
Цитата:
Стандартным средствами (через реестр) как оказалось нельзя даже задать дефолтовые PagePriority=5 (например, планирощик заданий запускает все процессы с приоритетом I/O=Low и PagePriority=3. Через реестр можно это "исправить" для нужных процессов и "восстановить" I/O=Normal, а вот для PagePriority только максимум PagePriority=4 можно задать) Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Так что Вы правы - установка высокого приоритета возможна. А что Вам мешает использовать многократно упоминаемый Цитата:
|
Цитата:
Цитата:
А так никакого софта не нужно, ни устанавливать, ни держать потом запущенным (реестр вообще идеально, и батник тоже всё ещё неплохо) Цитата:
|
Цитата:
|
Уточню согласно книги 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 |
Valeant,
Это верно для Vista, в Seven Schedule и defrag получают приоритет Low |
Цитата:
|
Цитата:
Да я вообщем-то и не программист - в школе на паскале только писал, так что здесь мои возможности закончились. :dont-know Интуитивно могу сказать, что нужен выход на уровень ядра, то есть нужен драйвер. |
Цитата:
А если подправить значение PagePriority на большее 5, тоже не поставится? P.S. А для установки High приоритета I/O через батник я всё-таки нашёл работающий вариант: http://processhacker.sourceforge.net...php?f=14&t=139 |
Цитата:
Ведь установка приоритета у вас не является самоцелью, не так ли? Должно быть, вы преследуете какую-то более конкретную цель. И раз уж вы так упорно ее преследуете, я полагаю, вы проводите сравнительное тестирование производительности приложения с разными приоритетами. Опубликуйте результаты! |
Цитата:
|
Цитата:
uTorrent у меня работает с Normal I/O и Memory Priority = 0 |
Цитата:
Цитата:
I/O именно Normal только и подходит для utorrent, а вот с Memory Priority возможны варианты, это как раз похоже мне и нужно. |
Цитата:
|
Время: 23:58. |
Время: 23:58.
© OSzone.net 2001-