понедельник, 22 июня 2009 г.

Оптимизация Windows XP

Как известно, многие настройки Windows по умолчанию сделаны так, чтобы обеспечить максимальную совместимость, но при этом часто страдает производительность. Поэтому изменив настройки, можно добиться существенного прироста производительности. В данной статье описывается, как это сделать, с разбиением процесса по шагам таким образом, чтобы свести к минимуму переходы из одного раздела реестра в другой в процессе редактирования.

1. Отпимизация файла подкачки и режима работы
Принято считать, что типичный размер файла подкачки должен равняться 1.5 — 2.0 от размера оперативной памяти. Это было верно в те времена, когда объем памяти составлял 32 — 128 Mb, но сейчас это не соответсвует действительности. Объем файла подкачки рекомендуется определять следующим образом: запустить все те программы, которые бывают запущенными при нормальной работе, и открыть в каждой из них достаточно большой документ. Далее с помощью Диспетчера задач посмотреть объем выделенной памяти (это можно посмотреть на вкладке "Производительность"). К объему выделенной памяти добавляем еще 10-20% на всякий случай, после чего вычитаем из результата объем оперативной памяти, установленной на компьютере. Полученное значение и есть желательный размер файла подкачки.

Располагать файл подкачки следует на самом быстром из имеющихся жестких дисков. (Быстродействие жестких дисков можно определить с помощью специальных программ, например, HDTach). Если жесткий диск один, то выбирать для файла подкачки следует тот раздел, который физически расположен самым первым (чаще всего это диск C:), так как с него скорость чтения максимальна.

Чтобы задать размер файла подкачки, следует зайти в "Система" через "Панель управления", перейти во вкладку "Дополнительно" нажать кнопку "Производительность", и в появившемся окне выбираем вкладку "Дополнительно". Там же можно выбрать на что настроена произоводительность системы: программы или фоновые службы. В большинсве случаев рекомендуется выбирать вариант "фоновые службы", так как это обеспечит более плавную многозадачность и более быстрое переключение между программами. Исключением являются следующие ситуации, когда
компьютер используется для самых современных игр или сложных вычислительных задач, или в компьютере слишком маломощный процессор.

Далее, для того, чтобы Windows не тратил время на попытку определить отсутствующие жесткие диски (это занимает несколько лишних секунд при загрузке) на вкладке "Оборудование" следует нажать кнопку "Диспетчер устройств" и для устройств "Первичный контроллер IDE" и "Вторичный контроллер IDE" (они находятся в "Контроллеры IDE/ATAPI") на вкладке "Дополнительные настройки" для отсутствуюших дисков выбрать тип устройства "Отсутствует". Также следует убедиться, что для имеющихся дисков выбран режим "UltraDMA, если доступно".

2. Отключение графических излишеств.

Возвращаемся на вкладку "Визуальные эффекты" и выбираем "Настроить на максимальную производительность". Со всех пунктов в спике, находящемся ниже, снимаются галочки. После этого в этом списке включаем "Отображать содержимое окна при перетаскивании" (без этой опции работать ОЧЕНЬ неудобно), можно также включить еще несколько наиболее необходимых опций. (Лично я для себя всегда включаю тень под указателем мыши).

3. Отключение записи отладочной информации и переменных среды
Нажимаем кнопку "Ok" и снова попадаем на вкладку "Дополнительно" в "Системе" и жмем кнопку "Настройка и восстановление". Здесь следует отключить "сохранение отладочной информации" и галочки "сохранить событие в журнал" и "послать административное оповещение". Нажимаем "Ok" и возвращаемся в "Дополнительно", после чего нажимаем кнопку "Переменные среды" и там выставляем переменные TEMP и TMP равными C:\TEMP (это надо сделать два раза: для пользователя и для системы в целом) и жмем Ok. Затем создаем каталог C:\TEMP (либо через Проводник, либо через "Пуск"/"Выполнить" команду "cmd /c mkdir C:\TEMP") и уходим на перезагрузку.

4. Настройка рабочего стола

Заходим в "Панель управления"/"Экран" и там ставим тему рабочего стола — Классическая Windows, а также убираем картинку с него (картинка на рабочем столе, особенно при больших разрешениях, особенно в GIF или JPEG - формате — одна из основных причин торможения системы).

5. Удаление ненужных программ
Для начала удалим из системы MSN Messenger. Это делается следующим образом: в Пуск/Выполнить вводим команду
RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove


Далее открываем (например, в Блокноте) файл %systemroot%/inf/sysoc.inf и выполняем там глобальную замену строки ",hide," на ",,", после чего заходим в "Панель Управления"/"Установка и удаление программ"/" и удаляем все, что сочтем лишним.

6. Отключение экрана приветствия
Новый способ входа в систему (так называемый Welcome Screen), конечно, более красив и удобен, но требует дополнительных ресурсов и увеличивает время загрузки системы почти на 10 секунд. Поэтому если вы не используете возможность быстрого переключения пользователей, экран приветствия желательно отключить. Делается это через "Панель управления"/"Учетные записи пользователей". Там нужно перейти по ссылке "Изменить способ входа в систему" и снять обе галочки.

7. Оптимизация файловой системы
Если вы не пользуетесь встроенными в Windows средствами поиска, а предпочитаете искать файлы с помощью средств файл-менеджера или локальной поисковой системы, то имеет смысл отключить индексирование дисков. Для этого заходим в "Мой компьютер", выбираем по очереди все диски и снимаем галочку "Разрешить индексирование" (она есть только для разделов NTFS), после чего указываем, что применить надо к данному каталогу и всем подкаталогам.

Отключаем обновление даты последнего доступа к файлам: в реестре по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Filesystem
следует прописать ключи NtfsDisable8dot3NameCreation и NtfsDisableLastAccessUpdate (если его нет, надо его создать с типом DWORD) равное 1.

Для уменьшения фрагментации файлов на диске (особенно при работе с крупными файлами) имеет смысл увеличить минимальный размер блока, который выбирается для записи файла. Он задается по адресу
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
в параметр ContigFileAllocSize со значением типа dword. По умолчанию он равен 00000200h, но можно задать ему большее значение, например, 0001000h.

8. Оптимизация сети

Отключение отправки ARP-пакета для проверки уникальности IP-адреса. При загрузке Windows рассылает ARP-пакет для того, чтобы убедиться в уникальности IP-адреса данного компьютера. Это занимает довольно много времени, поэтому в небольших сетях, где все можно контролировать вручную, имеет смысл эту функцию отключить. Для этого по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
нужно отредактировать ArpRetryCount (тип DWORD) и установить его равным 0.

В Windows также предусмотрено автоматическое определение "мертвых шлюзов" (т.е. участков, где размер параметра Max Transfer Unit меньше, чем у вашего компьютера, а настройки сети не позволяют выполнять фрагментацию пакета). "Мертвые шлюзы" сейчас встречаются крайне редко, поэтому имеет смысл отключить данную функцию, так как она снижает скорость скачивания файлов из-за того, что передается больше служебного траффика. Чтобы выключит эту функцию следует по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
прописать DWORD-значение DeadGWDetectDefault = 0, а также для всех интерфейсов в ключе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
поставить DWORD-значение DeadGWDetect = 0

Ускорение получения списков общих ресурсов
HKEY_LOCAL_MACHINE/Software/
Microsoft/Windows/Current Version/Explorer/RemoteComputer/NameSpace. Удаляем строку {D6277990-4C6A-11CF-8D87-00AA0060F5BF}

Отключение резервирования канала для QoS:
В "Пуск"/"Выполнить" запускаем gpedit.msc и там выбираем
Group Policy - Local Computer Policy - Administrative Templates - Network - QoS Packet Scheduler. Включите Limit reservable bandwidth и уменьшите Bandwidth limit с 20% до 0%.

9. Прочая оптимизация
Повышение приоритета часов реального времени. Прерывание часов реального времени — одно из самых используемых прерываний. Поэтмоу повысив его приоритет, можно добиться большей производительности от системы, но в ряде случаев это может привести к сбоям.
Для повышения приоритета часов реального времени, нужно посмотреть в "Диспетчере устройств", какое прерывание назначено устройству "CMOS и часы реального времени" и в реестре по адресу HKEY_LOCAL_MACHINE/System/
CurrentControlSet/Control/PriorityControl создать параметр типа DWORD с названием IRQ*Priority, где вместо "*" — номер прерывания. Значение параметра следует сделать равным 1.

Отключение подсистемы Posix. В Windows имеется встроенная поддержка системы POSIX, однако на практике она никогда не используется. Чтобы ее отключить, следует удалить в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\SessionManager\SubSystems ключи Optional и Posix.

Явное указание размера кеша второго уровня. В Windows имеется возможность явно указать размер кеша второго уровня процессора. Для этого необходимо в реестре создать по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement
ключ SecondLevelDataCache типа DWORD и указать там размер кеша в килобайтах (не забудьте указать, что значение параметра задано в виде десятичного числа, а не в виде шестнадцатеричного).
Примечание: имеется информация о том, что для процессоров Pentium III и выше кеш определяется автоматически, и этот параметр игнорируется, однако достоверно это не известно.

Отключение вынесения ядра в файл подкачки. Если на компьютере имеется достаточн\ый объем оперативной памяти (256 Mb или более), то можно немного ускорить работу Windows за счет запрета выгрузки ядра и драйверов в файл подкачки. Для этого в реестре по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Managment
следует создать ключ типа DWORD с именем DisablePagingExecutive и присвоить ему значение 1.

Ускорение выключения компьютера. Чтобы ускорить выключение компьютера, следует уменьшить время автоматического завершения зависших программ и служб. Для этого по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
нужно отредактировать ключи WaitToKillServiceTimeout (время до автоматического завершения службы), HangAppTimeout (время до вывода окна с вопросом о закрытии приложения) и AutoEndTasks (время, по истечении которого приложение будет закрыто). Все три параметра имеют тип DWORD и измеряются в милисекундах.

Объем макс. блокировки для ввода/вывода. Эффективность операций ввода вывода можно существенно повысить, если увеличить объем одновременно блокируемой памяти, однако в ряде случаев это может приводить к сбою системы.
Чтобы задать объем блокируемой памяти, по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
отредактируйте ключ: IoPageLockLimit, Тип: REG_DWORD

Увеличение кеша CD-ROM.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\CDFS
Значения DWORD Prefetch и PrefetchTail установить равными 4000 hex, а значение CacheSize, имеющее тип REG_BINARY — в ff ff 00 00.

Отключение защиты системных файлов. Защита файлов Windows не позволяет программам заменять важные системные файлы, но ее использование приводит к использованию лишнего места на диске для копий этих файлов + затрат времени на выполнение проверки. Чтобы ее отключить, нужно по адресу
[HKLM\SOFTWARE\Microsoft\windоws NT\CurrentVersion\Winlogon]
прописать ключи типа DWORD: SfcDisable = ffffff9d и SfcQuota = 0

10. Настройка Проводника Windows

Изменение каталога, который по умолчанию предлагается для установки программ:
По адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
нужно отредактировать ключи ProgramFilesDir и ProgramFilesPath, прописав в них путь для установки (например, D:\).

Отключение кеширования DLL. Чтобы DLL выгружались из памяти сразу после завершения использующей их программы, нужно по адресу
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
создать новый параметр типа DWORD, назвать его AlwaysUnloadDLL и приписать ему значение 1.

Отключение Active Desktop и включение классической оболочки. Возможности Active Desktop используют достаточно много системных ресурсов, поэтому их желательно отключить. Для этого по адресу
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
нужно прописать параметр типа REG_BINARY со значением 01 00 00 00.

Отключение кеширования последних открытых документов в соответствующем разделе в меню Пуск. Чтобы не создавался список последних открытых документов, по адресу
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer следует прописать параметры:
NoRecentDocs REG_BINARY 01 00 00 00
NoRecentDocsHistory REG_BINARY 01 00 00 00

После того, как все описанные здесь изменения выполнены, следует перезагрузить компьютер и либо в течение некоторого времени не совершать на нем никаких действий (в этом случае автоматически запустятся встроенные средства оптимизации Windows XP), либо воспользоваться утилитой BootVis.

Кроме этого, также имеет смысл отключить ряд служб Windows, но это — тема для отдельной статьи.

Комментариев нет: