Приоритезация ввода-вывода в Windows Vista
Цитата
Одно из новшеств в Windows Vista - это возможность установить приоритет ввода-вывода для процесса.
С приоритетами процессов все уже наверное знакомы. Также наверное уже знаете на своем опыте, что если процесс с самым низким приоритетом активно работает с диском, то он тормозит всё, насмотря на то, что у него самый низкий приоритет. Это потому что ввод-вывод выполняется с одним и тем же приоритетом для всех процессов.
В Windows Vista добавили приоритезацию ввода вывода, дабы избежать ситуаций, когда фоновый процесс тормозит всё, когда работает с диском.
В ближайшем будущем от этого было бы мало пользы, поскольку нет программ, которые бы это использовали, кроме тех, конечно, что включены в Windows Vista. Но оказалось, что можно любую программу работать с низким приоритетом ввода-вывода с помощью ключей в реестре. Заодно установим и низкий приоритет процесса.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<имя выполняемого файла>\PerfOptions]
"CpuPriorityClass"=dword:00000001
"IoPriority"=dword:00000000
Кстати заодно можно установить еще и следующие значения, чтобы уж совсем загнать малонужный процесс в угол:
"PagePriority"=dword:00000001
"WorkingSetLimitInKB"=dword:00008000
С приоритетами процессов все уже наверное знакомы. Также наверное уже знаете на своем опыте, что если процесс с самым низким приоритетом активно работает с диском, то он тормозит всё, насмотря на то, что у него самый низкий приоритет. Это потому что ввод-вывод выполняется с одним и тем же приоритетом для всех процессов.
В Windows Vista добавили приоритезацию ввода вывода, дабы избежать ситуаций, когда фоновый процесс тормозит всё, когда работает с диском.
В ближайшем будущем от этого было бы мало пользы, поскольку нет программ, которые бы это использовали, кроме тех, конечно, что включены в Windows Vista. Но оказалось, что можно любую программу работать с низким приоритетом ввода-вывода с помощью ключей в реестре. Заодно установим и низкий приоритет процесса.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<имя выполняемого файла>\PerfOptions]
"CpuPriorityClass"=dword:00000001
"IoPriority"=dword:00000000
Кстати заодно можно установить еще и следующие значения, чтобы уж совсем загнать малонужный процесс в угол:
"PagePriority"=dword:00000001
"WorkingSetLimitInKB"=dword:00008000