оХПтимизация-2 Судный день

Источник: http://www.homepc.ru/

Лев Музыковский

В первой части «оХПтимизации» («ДК» №8 за 2003 год) мы рассказывали о настройках системы, не требующих от пользователя слишком сложных действий. Пользуясь случаем, хочу поблагодарить уважаемых читателей за теплые слова, свидетельствующие, что время, потраченное вами на «оХПтимизацию», не прошло даром. Помня о данных обещаниях, в этом материале я расскажу о некоторых аспектах оптимизации работы дисковой подсистемы. Мы подробно остановимся на файле подкачки, а также поговорим о системных службах Windows XP.

Дисковая подсистема

Стоит ли упоминать, что производительность дисковой подсистемы напрямую зависит от характеристик физического устройства, в первую очередь от скорости вращения шпинделя и емкости буфера? Говоря иными словами, если у вас пожилой (как следствие, медленный) жесткий диск — манипуляции с файлом подкачки, дефрагментацией и прочие ухищрения кардинально ситуацию не изменят. С другой стороны, там чуть-чуть, здесь немного, глядишь, системному блоку дышать уже легче.

Для начала проверьте (для кого это тайна) собственную конфигурацию на предмет аппаратного подключения IDE-устройств1. Я заранее прошу прощения, если кому-то данная рекомендация покажется азбучной истиной, но, к сожалению, статистика сервис-центров по обслуживанию «самосбора» повергает в уныние. Типовая конфигурация настольной системы, как правило, включает в себя один жесткий диск и один (реже два) оптический привод — CD-ROM (RW) или/и DVD-ROM (RW). На материнской плате находятся два IDE-контроллера, к каждому из которых можно подключить не более двух устройств (первое — Master, а второе Slave). Так вот, одна из особенностей IDE-интерфейса в том, что если к контроллеру подключено два физических устройства, драйвер не может использовать одно из них, пока второе не выполнило ранее посланную ему команду. Простой пример: к IDE-контроллеру подключен жесткий диск в режиме Master и оптический привод в режиме Slave. Как только пользователь попробует обратиться к оптическому приводу в тот момент, когда жесткий диск «занят» интенсивной трудовой деятельностью, скорость работы обоих устройств резко снизится, поскольку одно постоянно будет вынуждено ждать другое. Для двух жестких дисков, «висящих» на одном контроллере, снижение скорости будет не столь заметным, но тем не менее.

Итак — если у вас типовая конфигурация, всегда подключайте жесткий диск и оптический привод к разным контроллерам. А если нет? Согласен, нередко встречается ситуация, когда в системе наличествует второй, более медленный и менее емкий жесткий диск (например, оставшийся от предыдущей машины). Как правило, его используют для хранения данных, доступ к которым осуществляется редко, поэтому его можно безболезненно подключить ко второму контролеру вместе с оптическим приводом. Наконец, если жесткий диск один, а оптических приводов два, подключите последние вместе ко второму контроллеру, а первый оставьте в безраздельное владение «харду».

Разбираемся с файлом подкачки

Файл подкачки, или swap-файл, — это область на жестком диске, которую операционная система использует в качестве виртуальной памяти. Упрощенно процесс использования виртуальной памяти можно описать следующим образом: при одновременном запуске нескольких приложений, использующих оперативную память, ее объема для хранения данных может не хватать. В этом случае часть данных (в первую очередь неактивных программ) переносится («свопируется») операционной системой в виртуальную память, а при первой необходимости — переписывается обратно в оперативную память для продолжения работы. Физически файл подкачки располагается в корне жесткого диска с установленной системой и называется pagefile.sys2.

Можно сделать вывод: чем больше физический объем оперативной памяти, тем меньший объем файла подкачки необходим, и тем реже Windows приходится прибегать к его использованию. Несмотря на это, именно установки ОС «по умолчанию» являются причиной многочисленных заблуждений пользователей на предмет необходимого объема swap-файла. Убедиться в этом нетрудно, открыв вкладку «Свойства системы — Дополнительно — Параметры — Быстродействие — Дополнительно» и нажав кнопку «Изменить» в разделе «Виртуальная память» (рис. 1). Текущий объем файла подкачки, скорее всего, будет равным или несколько большим физического объема оперативной памяти, а рекомендуемый объем  — примерно в полтора раза большим. Если верить этим рекомендациям, получается, что при 256 Мбайт RAM системе достаточно swap-файла объемом ~400 Мбайт, а при 512 Мбайт RAM он «распухает» до 700 с лишним мегабайт? Парадокс!

Установить действительно необходимый объем swap-файла можно лишь при помощи его мониторинга. Конечно, придется немного «поплясать с бубном» вокруг компьютера, зато вы будете реально представлять себе положение вещей.

Для начала в упомянутом разделе «Виртуальная память» укажите «Особый размер» и в поле «Максимальный размер» задайте некое пробное значение. Скажем, для 128 или 256 Мбайт RAM пусть оно будет 400 Мбайт, для 512 Мбайт вполне достаточно 200 Мбайт. Нажмите кнопки «Задать», затем «OK» и перезагрузитесь.

Далее, в «Панели управления» найдите пункт «Администрирование», в котором открываем «Производительность» (рис. 2). В левой части окна раскройте «Журналы и оповещения производительности», щелкните правой кнопкой на «Журналы счетчиков» и в контекстном меню выберите пункт «Новые параметры журнала» (рис. 3). Присвойте вновь создаваемому журналу имя, например swap_log, и нажмите «OK».

Теперь необходимо указать, что именно мы будет «мониторить». В появившемся окне нажмите кнопку «Добавить счетчики» (рис. 4), в выпадающем меню «Объект» выберите «файл подкачки», в разделе «Выбрать счетчики из списка» укажите «% использования (пик)», затем нажмите «Добавить» и «Закрыть» (рис. 5). Откройте вкладку «Файлы журнала» и в списке «Тип файла журнала» выберите «Текстовый файл (разделитель — запятая)» (рис. 6). Нажмите кнопки «Применить» и «OK» (на вопрос, создать ли каталог C:\PerfLogs, ответьте утвердительно). Чтобы убедиться, что вновь созданный журнал swap_log запущен, кликните на нем правой кнопкой мыши в правой части окна: если опция «Запуск» будет недоступна, значит, все в порядке и можно спокойно закрыть все окна.

Теперь главное — на несколько дней забудьте о поставленном эксперименте и просто интенсивно пользуйтесь компьютером: работайте (если на нем работают), запускайте игры, типовые приложения — в общем, постарайтесь сымитировать «бурную деятельность», не выходя за рамки обыденного. Очень желательно, чтобы в эти дни компьютер несколько раз был перезагружен. Точных сроков окончания мониторинга не существует — от двух дней и до бесконечности, поэтому, как только вы сочтете, что хватит, открывайте файл3 C:\PerfLogs\swap_log_000001.csv. Вашему взгляду предстанет весьма длинная колонка строк, каждая из которых содержит что-то наподобие этого: «08/25/ 2003 06:58:43.827,”38.831710086042065”», где последнее число не что иное, как реально используемый процент объема swap-файла от заданного вами. Заметьте, это пиковые значения!

Интересно, если в моем случае (512 Мбайт RAM) в течение нескольких дней абсолютно нормальной работы «Винде» ни разу не понадобилось более 38% от указанных 400 Мбайт (что составляет 152 Мбайт), зачем, собственно, она рекомендует мне тратить на файл подкачки 766 Мбайт? Можно написать письмо в службу технической поддержки или в общество по защите прав потребителей, но лучше просто пожать плечами, выбрать из файла мониторинга наибольшее значение в процентах, вычислить требуемый объем swap-файла и, минуточку…

Файл подкачки может быть создан в одном из двух вариантов: постоянного (фиксированного) размера и динамически изменяемого размера. По умолчанию Windows создает динамически изменяемый файл подкачки, но у этого подхода есть несколько существенных недостатков. А именно: при увеличении файла подкачки операционная система «дописывает» его на свободные места, что приводит к фрагментации диска и фрагментации самого swap-файла, а это уж совсем нежелательно, поскольку доступ к нему должен осуществляться с максимально возможной скоростью. Исходя из этого, файл подкачки непременно рекомендуется делать фиксированного объема и помещать в самом начале диска, где, как известно, операции чтения/записи происходят быстрее всего. Если жесткий диск один и XP установлена в первом разделе, в нем же рекомендуется расположить и файл подкачки. В случае, если жестких дисков два и второй из них быстрее или равен по скорости первому (тому, на который установлена ОС), файл подкачки стоит расположить в начале второго диска4 — что значительно повысит скорость работы с виртуальной памятью.

Когда действительно необходимый объем файла подкачки будет установлен, прибавьте к нему, на всякий пожарный, мегабайт 10–20 и сделайте его фиксированным — найдите и откройте еще раз раздел «Виртуальная память», введите полученное значение в полях «Исходный размер» и «Максимальный размер», нажмите кнопки «Задать», «OK» и перезагрузитесь. Теперь осталось только перенести файл подкачки в нужное место. Учтите, встроенная утилита дефрагментации «не умеет» менять местоположение swap-файла, так что для завершения «оХПтимизации» вам понадобится, например, Speed Disk из пакета Norton SystemWorks, которому достаточно указать: «Поместить файл подкачки в начале диска» — и далее он все сделает как надо.

Системные службы

Физически системные службы представляют собой приложения-процессы, запускаемые системой при старте и выполняющиеся постоянно в фоновом режиме. Естественно, при стандартной установке ОС пользователь получает типовой набор служб, часть которых можно безболезненно отключить. Смысл этого действия, надеюсь, понятен — любая работающая служба задействует как ресурсы процессора, так и оперативной памяти, и нет никакого резона расходовать последние на процедуры, работающие «вхолостую». Однако прежде следует оговорить несколько важных моментов:

- системные службы — не программы в «автозагрузке», которые можно удалять или добавлять без всякого риска. У службы есть такое понятие, как «зависимость» — некоторые службы зависят от запуска других служб или системных драйверов. Остановка службы, от которой зависят другие, может привести к неправильной работе или сбоям в системе. Поэтому экспериментировать с остановкой или режимом запуска служб следует очень осторожно, тщательно изучив зависимости. Лучше всего перед этим сохранить соответствующий раздел реестра — HKEY_ LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services; на названии Services кликнуть правой кнопкой мыши и в контекстном меню выбрать «Экспортировать». После чего сохраните файл с любым названием (например, services.reg) в надежном месте и/или на дискете;

- каждой службе присущ свой тип запуска: по умолчанию для большинства служб он выглядит как «Авто» — в этом случае служба либо автоматически запускается при старте системы либо при первом вызове службы. Настройка типа запуска «Вручную», собственно, это и означает, а если присвоить службе тип запуска «Отключено», ее не удастся запустить ни автоматически, ни вручную. Именно службы с типом запуска «Авто» нуждаются в особо тщательной проверке зависимостей перед отключением;

- программу управления службами можно вызвать из панели управления («Администрирование — Службы») либо вызвать из консоли («Пуск — Выполнить»), набрав в строке вызова «services.msc». Кликнув правой кнопкой мыши на названии любой службы и выбрав в контекстном меню «Свойства» (рис. 7), можно увидеть назначение данной службы, ее зависимости, параметры входа в систему и другие сведения.

Ниже мы рассмотрим небольшой список служб, которые можно отключить при определенных условиях. Данный список, конечно, не догма, вы можете почитать описание любой службы самостоятельно, изучить зависимости и поэкспериментировать с их запуском.

DHCP-клиент. Отвечает за управление и автоматическое распределение IP-адресов и DNS-имен. Если у вас нет локальной сети или модема, можно отключать с чистой совестью.

Portable Media Serial Number Service5. Служба, используемая для получения серийного номера любого портативного аудиоустройства (например, MP3-плейера), подключаемого к компьютеру. Эта, простите, галиматья введена Microsoft в целях борьбы с компьютерным пиратством и, естественно, может и должна быть отключена.
Телефония. При отсутствии модема не имеет смысла и может быть отключена.

NetMeeting Remote Desktop Sharing. Разрешает удаленным пользователям получать доступ к рабочему столу Windows, используя NetMeeting. Если для вас это не актуально, отключайте (рис. 8).

Telnet. Экзотическая служба, позволяющая удаленному пользователю заходить на ваш компьютер и запускать программы; поддерживает различных клиентов, использующих протокол TCP/IP Telnet. Рекомендую отключить.
Беспроводная настройка. Служба, предназначенная для автоматической настройки адаптеров 802.11. Отключаем при отсутствии таковых.

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

Вторичный вход в систему. Позволяет запускать процессы от имени другого пользователя системы. Если пользователь один или таковая возможность не нужна — отключайте.

Диспетчер очереди печати (спулер). Необходима только при наличии принтера.
Диспетчер подключений удаленного доступа. Зависит от службы «Телефония»; включать стоит тоже только при наличии модема.

Диспетчер сеанса справки для удаленного рабочего стола. Управляет возможностями «Удаленного помощника», каковой после отключения службы будет недоступен. Честно говоря, право на существование этой службы вызывает искренние сомнения.

Источник бесперебойного питания. Ну, здесь все предельно понятно. Если последний отсутствует, отключаем до лучших времен.

Модуль поддержки смарт-карт. Обеспечивает поддержку для старых устройств чтения смарт-карт (без Plug-n-Play). Интересно, а новыми кто-нибудь из ваших друзей и знакомых пользуется? Отключаем. Кстати, те же действия вполне можно применить и в отношении службы «Смарт-карты».

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

Служба загрузки изображений (WIA). Обеспечивает службы получения изображений со сканеров и цифровых камер. При отсутствии оных — вы знаете, что делать.

Служба обнаружения SSDP. Включает обнаружение UPnP-устройств в домашней сети. Поскольку устройства с таким протоколом пока встречаются крайне редко, реальной потребности в этой службе нет.

Служба шлюза уровня приложения. Осуществляет поддержку сторонних протоколов PnP для общего доступа к Интернет-подключению и подключений с использованием брандмауэра. Поскольку встроенный брандмауэр тоже используется редко (большинство предпочитает ПО сторонних производителей), службу можно отключить.
Справка и поддержка. Отличная возможность «отомстить» для тех, кто не любит или не видит смысла читать файлы справки.

Темы. Собственно, управляет темами оформления. Отключение может быть актуально для тех, кто воспользовался советами, приведенными в первой части «оХПтимизации» (избавление от ненужных «красивостей»). Если же ваша натура постоянно требует внешних изменений  — оставьте как есть.

Удаленный реестр. Позволяет удаленным пользователям изменять параметры реестра на локальном компьютере. Очередная ситуация из разряда научной фантастики, так что отключаем без лишних мучений.

При отсутствии подключения к локальной сети вы можете отключить следующие службы: Сетевой вход в систему; Сервер; Рабочая станция; Оповещатель; Сервер папки обмена; Диспетчер сетевого DDE; Служба сетевого DDE; Фоновая интеллектуальная служба передачи; Служба сетевого расположения (NLA); Служба времени Windows6; Обозреватель компьютеров; Модуль поддержки NetBIOS через TCP/IP; Маршрутизация и удаленный доступ; Диспетчер отгрузки; Служба сообщений; Службы криптографии.

Заметьте, все рекомендации по отключению служб приводятся в расчете на домашнюю конфигурацию, где наличие локальной сети скорее исключение, чем правило. Для офисной машины или рабочей станции все обстоит иначе, поэтому еще раз напоминаем — не отключайте службы бездумно, потрудитесь вникнуть в их назначение и проверить зависимости, и, если у вас возникают сомнения — лучше оставьте «как есть». Ибо никакая (а в данном случае — очень незаметная) экономия аппаратных ресурсов не стоит непредвиденных сбоев и нестабильной работы.

Еще немного оптимизации

Среди многочисленных рассуждений и советов относительно файла подкачки часто встречается мнение, что его максимальный размер ограничивать не стоит, а если и ограничивать, то размером как минимум в 2,5 раза превышаюшим объем установленной RAM. Иначе, мол, возникнет ситуация, когда системе может не хватить указанного объема виртуальной памяти, что приведет к сбоям или зависанию. На самом деле, ситуация с нехваткой виртуальной памяти если и возникает, то очень редко  — вы сами убедитесь в этом, проведя мониторинг. Во-вторых, если операционной системе действительно не хватит объема фиксированного swap-файла, при острой необходимости она увеличит его самостоятельно, несмотря на все искусственно созданные нами ограничения. После того как «жадное до ресурсов» приложение будет снято, swap-файл опять вернется к заданному вами размеру.

После выключения компьютера в файле подкачки остается масса интересных вещей, например остатки программного кода, логины, пароли и пр. Теоретически любой «грамотный» товарищ, покопавшись в swap-файле, может получить доступ к вашей конфиденциальной информации. Если эта проблема вам близка, укажите операционной системе, чтобы при завершении работы она заполняла файл подкачки нулями. Для этого в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management найдите параметр ClearPageFileAtShutdown и установите его значение в «1» .


В том же разделе реестра находится переменная DisablePagingExecutive. Если выставить ее значение в «1», в файл подкачки не будут «свопироваться» ядро системы и драйверы, а скорость реакции системы и исполняемых приложений на действия пользователя увеличится. Однако эта рекомендация будет эффективной лишь в случае, если в системе установлено больше 256 Мбайт RAM.

Считается, при объеме RAM более 256 Мбайт система будет работать быстрее, если переменной LargeSystemCache (все в том же разделе реестра) присвоить значение «1». Это действие идентично тому, как если бы в разделе «Мой компьютер — Свойства — Дополнительно — Быстродействие — Дополнительно — Использование памяти» указать оптимизацию работы для системного кэша. В этом случае система будет использовать весь объем* оперативной памяти для кэширования системных файлов, однако прирост производительности при этом может быть весьма незначительным или его может не быть совсем.
Отключение неиспользуемой подсистемы POSIX может чуть увеличить скорость работы. Найдите в реестре раздел HKEY_ LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems и удалите в нем строки Optional и Posix.

* За исключением 4 Мбайт, зарезервированных под дисковый кэш.

1 Для новых жестких дисков с интерфейсом Serial ATA нижеприведенные рекомендации не имеют силы.
2 Только для операционных систем Windows 2000/XP.
3 Если у вас установлен Office, файл с расширением .csv, скорее всего, откроется при помощи Excel.
4 Разумеется, при условии, что на втором диске также используется файловая система NTFS.
5 В зависимости от версии Windows XP эта служба также может иметь русский эквивалент названия — «Серийный номер переносного медиа-устройства».
6 Управляет синхронизацией даты и времени на всех клиентах и серверах в сети