Настройка Windows NT

Вместо вступления:
Собственно говоря, данный материал больше будет относиться к Windows 2003/XP, но многое работает и в NT4, 2000


Очень часто встречаю в сети всевозможные "твикеры" и т.п. ерунду... и поражаюсь тому, что за них еще денег требуют... ведь порой они просто паразитируют на самой системе.
Итак, поехали... (подразумевая что вы знаете что такое реестр Windows NT системы и как его редактировать). Ну и, как всегда, умываю руки в случае, если вы угробите систему при использовании тех или иных советов.


А вообще то, делайте копию ветки реестра перед тем, когда что-то в нем меняете, не зная какой результат это вам даст! Тогда, я думаю, особых сложностей с отменой тех или иных экспериментов в реестре не будет!


Итак, если конфигурация вашего компьютера что-то вроде PIII-733+, 256МБ, и на HDD свободно как минимум 3-4Гб, то вы можете практически использовать рекомендумые параметры, не опасаясь за его дальнейшую работоспособность.


Настройки производительности

Процессорный кеш второго уровня

Рассмотрим ветку реестра.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
По умолчанию Системе не известно какой процессорный кеш 2 уровня используется и поэтому он не задействуется для всевозможных операций как первый, но использовать его для предназначенных ему нужд система может. По умолчанию она подозревает что у вас 256Кб, но лучше выставить его размер.
SecondLevelDataCache (REG_DWORD) = Размер кеша 2 уровня процессора в КБ
пример SecondLevelDataCache=1024 (Для процессора P4-2.8 Prescott c кешем второго уровня 1 МБ) – кстати, это поднимет производительность во многих играх и таких программах как 3DMax.


Виртуальная память

В той же ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Рекомендуется при наличии физически! второго жесткого диска использовать его на первом разделе второго жесткого диска.
PagingFiles (REG_MULTI_SZ) = (Имя файла и путь)+(пробел)+(мин размер)+(пробел)+(максимальный размер) . Например, у вас 512 мб ОЗУ и поднастроим PagingFiles = D:\virtual.sys 512 1024 ; естетственно, у вас должно быть 1024 мб свободного места на диске, согласно примеру.
SystemPages (REG_DWORD) = Максимальное количество виртуальных адресов.
В 16-ричном формате ставте FFFFFFFF – Это позволит использовать максимально возможное количество (Без ограничения) но займет примерно 1/3 виртуальной памяти. А также, возможно придется увеличить размер файла подкачки.
LargeSystemCache (REG_DWORD) = 0 – отключить 1- включить
значение 1 увеличит производительность файловой системы....
Параметр
IOPageLockLimit (REG_DWORD) можно расчитать
По следующей формуле – ОЗУ в МБ умножаем на 128 и умножаем на 3/4
Или вот еще такой (мой метод) ОЗУ в КБ делим на 8 и умножаем на 3/4 .
При данной корректировке I/O получим прирост производительности при чтении и записи на HDD
Пример Для ОЗУ = 2 ГБ -> 2*1024*1024/8*3/4=196608
IOPageLockLimit=196608(Decimal)
DisablePagingExecutive (REG_DWORD) = 0 отключить, 1- включить.
По умолчанию = 0 – но рекомендую поставить = 1, дабы не забивать виртуальную память ядром системы, да и сама система будет работать немного шустрее.


Префетч (ускорение запуска)

Далее пойдет речь о подветви Memory Management- PrefetcherParameters
Эта настройка позволяет ускорять запуск программ и системных файлов – обеспечивая их дополнительным кешированием
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\


EnablePrefetcher (REG_DWORD) = Применимы значения (0, 1, 2, 3)
0 – отключено (Рекомендуется для маломощных компьютеров)
1 – рекомендуется для компьютеров с ОЗУ до 256МБ (Только программы)
2 – Для тех у кого на борту от 512МБ и более (программы и системные быблиотеки)
3 – Это уже рассчитано для супер-пупер мощных процов + минимум ОЗУ 512Мб, хотя при LargeSystemCache=1 прекрасно работает и на 256Мб ОЗУ.
Рекомендую EnablePrefetcher=3
RootDirPath (REG_SZ) = Prefetch – это путь (каталог) относительно %systemroot%, т.е. например, C:\WINNT\Prefetch тоже можно изменить, если есть другой физический диск. Аналогично с файлом подкачки, хотя не особо заметно.. но тоже дает кое-какую долю прироста... (PS папку Для Prefetch, на новом месте, придется создать самому)


В природе вы можете встретить упоминание о EnablePrefetcher=5 или волшебном ключе EnableSuperFetch=1 – скажу из личного опыта толку от них нет. А в Windows XP SP2 EnablePrefetcher=5 – может дать ошибку о повреждении реестра.
Параметры Prefetch можно также использовать для запуска отдельных программ, достаточно в свойствах ярлыка программы добавить ключик /Prefetch:1 – и заметим ускорение запуска этой программы, но, к сожалению, не со всеми программами это работает.
На примере моего любимого браузера FireFox в свойствах ярлыка
"C:\Program Files\Mozilla Firefox\firefox.exe"
меняем на...
"C:\Program Files\Mozilla Firefox\firefox.exe" /prefetch:1


Настройка паузы перед отключением служб и программ

Для служб и модулей:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Время ожидания ответа от системных библиотек, сервисов, программ при их зависании или выгрузки из памяти – т.е. остановка или отключение
WaitToKillServiceTimeout (REG_SZ) = Значение в милисекундах вполне приемлемое = 2000 или если вдруг возникнут проблемы (это можно будет заметить по логам – вского рода ошибки в завершении служб, хотя это может возникнуть только на перегруженных серверах с MS ISA, MS SQL, MS EXCHANGE) 5000, но никак не = 0 если не хотите чтобы все рухнуло.
По умолчанию оно равно 20000 а при установленном почтовом сервере (Exchange) обычно система увеличивает его до 80000. Но, опять же из личного опыта, скажу что даже с Exchange 2003 параметр WaitToKillServiceTimeout=2000 проблем не создавал.
Однако, на сайте microsoft.com все же встречается упоминание о проблемах, вызываемых уменьшением данного параметра при использовании Exchange.


Для программ:
HKEY_USERS\.DEFAULT\Control Panel\Desktop (Для всех по умолчанию)
HKEY_CURRENT_USER\Control Panel\Desktop (Для текущего пользователя)
WaitToKillAppTimeout (REG_SZ) = 2000 или опять же 5000 в случае проблем
По умолчанию оно равно 20000


Настройка запуска скриптов и выгрузки модулей из памяти

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Очень интересная ветка с подветками для настроек, но практически мало чего для настройки производительности.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
RunLogonScriptSync (REG_DWORD) = 0 или 1
По человечески говоря, значение 0 ничего не даст, точнее, все будет так же как раньше; а значение 1 – даст вам некоторые удобства в загрузке системы потому, что оболочка Windows Explorer запускается после выполнения скриптов и системных модулей.
Этот ключ отсутствует по умолчанию в Windows 2000/XP/2003, естественно, надо его создать
Если не верите, смотрите сами на мелкософте
При большом количестве всевозможных модулей в автозагрузке это дает небольшое сокращение времени запуска системы из-за того, что сама оболочка не занимает память до выполнения загрузочных скриптов и т.п.


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
AlwaysUnloadDLL (REG_DWORD) = 0 (по умолчанию) 1(Рекомендую)
AlwaysUnloadDLL=1 – выгружает из оболочки неиспользуемые модули DLL которые висят в памяти якобы для ускоренного доступа к ним. При EnablePrefetcher=3 очень даже рекомендую установить AlwaysUnloadDLL=1


Заключение

Это пожалуй и все, что даст вам реальный рост производительности в системе семейства Windows NT.
Хотя я все это выдал вам проверенным на своем опыте, все же рекомендую ознакомиться с каждым ключом в отдельности самостоятельно, благо это не секретные настройки системы.


Вот пример как по отдельности искать информацию по каждому ключу на примере MSN Search


После написания этого материала, по совету Абрамыча, я произвел тестирование на виртуальном компьтере
под Virtual PC 2004 SP1
используя систему Windows Server 2003 SP1Enterprise Edition, причем с поднятым на нем домене ! (Хотя это уже для следующего материала к статье)


Система

Доказательства эфективности данных настроек в совокупности
Используя то, что нашел под рукой – PC Mark 2002 при следующей конфигурации тестов


Используемые тесты

Результаты до правки реестра


Результаты до правки реестра

Результаты после настроек реестра (только тех что описаны в данной статье)


Результаты после настроек реестра


Думаю что в совокупности настроек это вполне достойный результат (Прирост производительности по трем параметрам CPU, MEM, HDD) с учетом того, что тест проводился на виртуальном компьютере – очень даже не плохо !


Добавил спустя 1 день:
прошел один день, а результаты производительности в тестах повысились :)))
Вполне серьезно!
Я так подумал и все-таки решил их обнародовать.


Через день


Для обсуждения изложенного приглашаю на Форум.
Sea Wol F.

Общая оценка документа [показать форму]

страница еще не оценена