overXP

турбо наддув для XP

крис касперски ака мыщъх no-email

Windows – создание неторопливое. Все лишние службы остановлены, диск только что дефрагментирован, а она все тормозит. Эта статья открывает дверь в мир высоких энергий и больших скоростей, радикально увеличивая производительность операционной системы и практически ничего не требуя взамен. В основном мы будем говорить о линейке Windows NT (к которой принадлежат W2K, XP и 2003), но и пользователи 9x найдут для себя кое-что интересное

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

Даже на быстрых машинах, загрузка операционной системы занимает весьма продолжительное время, что не может не раздражать. Специалистам известно, что лучший способ ускорить загрузку Windows – не загружать ее вообще. Никаких шуток! Если ваш компьютер поддерживает ACPI и галочка «после приостановки перейти в спящий режим» в Панели Управления  Электропитание  Спящий Режим взведена, то при выборе пункта Переход в Ждущий Режим в Завершении Работы операционная система сбросит содержимое оперативной памяти на жесткий диск. А затем, после включения питания, вновь вернется в свое исходное состояние, как будто бы никакого отключения вообще не происходило.

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

Рисунок 1 активация сброса состояния системы на диск

При хроническом недостатке оперативной памяти операционная система вынуждена интенсивно обмениваться с файлом подкачки, съедающим всю производительность. Чем больше оперативной памяти – тем лучше. Для комфортной работы с Windows XP требуется по меньшей мере 256 Мб. Уточнить эту цифру поможет Диспетчер Задач, вызываемый по ALT-CTRL-DEL. В идеале, пиковое выделение памяти не должно превышать количество физической памяти, установленной в материнскую плату, но даже при этом диск не прекратит стрекотать, оттягивая на себя львиную долю производительности.

Рисунок 2 измерение количества потребляемого системой памяти с помощью Диспетчера Задач

Запустив файловый монитор Марка Руссиновича, который можно бесплатно скачать с сайта http://www.sysinternals.com, мы обнаружим, что все дело в реестре и во временных файлах, к которым система обращается даже тогда, когда ничего не происходит. В спокойном состоянии в среднем насчитывается до 100 дисковых запросов в секунду и хотя большая их часть оседает в кэше и до винчестера не доходит, нормальной такую ситуацию назвать нельзя. Ну не умеет Windows грамотно распоряжается оперативной памятью!

Установка виртуального диска ускоряет работу системы от десяти до пятидесяти (!) раз. Это кажется, невероятным, но это факт. Разумеется, количество установленной памяти должно составлять не менее 256 – 512 Мб, в противном случае вместо разгона мы получим торможение. К сожалению, в комплект штатной XP поставки драйвер виртуального диска не входит и его приходится добывать в Интернете самостоятельно, набирая в своем любимом поисковике «RAMDRIVE» или «RAMDISK». Среди кучи откровенного барахла обращает на себя внимание RamDiskPlus от компании Super Speed, который кстати говоря, автоматически сохраняет свое содержимое на жестком диске при выключении питания.

overxp_image_2.jpg

Рисунок 3 архитектора виртуального ram-диска

Сам по себе виртуальный диск еще не обеспечивает высокого быстродействия системы и реальное увеличение производительности достигается только после перемещения вашего пользовательского профиля. Войдите в систему под администратором и скопируйте папку Document And Setting\Ваше Имя на виртуальный диск. Затем, в Панели Управления, щелкнув по иконке «Пользователи и Пароли», во вкладке «Дополнительно» нажмите одноименную кнопку и дважды кликните по своему пользователю. В появившемся диалоговом окне перейдите к вкладке «Профиль» и укажите новый путь к профилю. Теперь: в Панели Управления  Система  Дополнительно  Переменные Среды найдите переменные TMP и TEMP, перенаправив их на папку TEMP виртуального диска.

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

Неоправданно низкая производительность жесткого диска зачастую объясняется большим количеством ошибок передачи данных по интерфейсу ATA-100, который в отличии от своих предшественников, умеет контролировать целостность циркулирующей по нему информации и при возникновении ошибки, повторять операцию пересылки повторно. В запущенных случаях данные удается передать только с сотой попытки! Все ошибки автоматически протоколируются системой мониторинга S.M.A.R.T., статус которой отображают многие тестовые программы (например, AIDA32, бесплатную копию которой можно скачать по адресу http://www.aida32.hu/). Зайдите в Хранение Данных SMARTC7 UltraATACRCErrorRate и посмотрите на значение счетчика ошибок. В идеале таковых не должно быть вообще.

Рисунок 4 подсчет количества ошибок передачи данных по интерфейсу ATA-100 с помощью AIDA32

Большое количество ошибок указывает либо на аппаратную несовместимость вашего винчестера с данном материнской платой, либо на его неправильное подключение. Проверьте – не перекручен ли ленточный кабель и при необходимости укоротите его. Один конец кабеля должен быть подключен к контроллеру, другой – к жесткому диску. Никогда не подключайте винчестер к центральному разъему, оставляя болтаться образовавшуюся «соплю» на ветру. Это увеличит интенсивность паразитных наводок и только ухудшит ситуацию. Воткните ее во второй винт или обрежьте.

Квантом – называется количество процессорного времени, отпущенного потоку, по истечении которого, Windows автоматически перебрасывает нить управления на другой поток. Чем короче квант – тем выше накладные расходы на переключения контекста и ниже эффективность использования кэш-памяти. С другой стороны, с ростом длины кванта ухудшается «плавность» многозадачности, – потоки начинают двигаться рывками, подолгу простаивая в очереди на выполнение.

ОткройтеследующуюветвьреестраHKLM\SYSTEM\CurrentControlSet\Control\PriorityControl\Win32PrioritySeparation. Для оптимизации системы под выполнение одиночных приложений (например, динамичных игр с продвинутой графикой) измените текущее значение на 16 (шестнадцатеричное), а для работы с большим количеством фоновых приложений более предпочтительным окажется 2A (шестнадцатеричное).

После перезагрузки изменения вступят в силу. Имейте ввиду, что для выполнения этой операции вы должны иметь правда администратора.

Рисунок 5 ручная оптимизация квантов времени

Аппаратно PCI-шина поддерживает до 4 прерываний, обозначаемых латинскими буквами A, B, C, D или номерами PIRQ, что расшифровывается как PCIIRQ, причем, внутренне PCI-устройства, такие например, как USB-контроллер, беззастенчиво используют прерывания из общего фонда, поэтому количество свободных прерываний тает прямо на глазах.

Несмотря на то, что совместное использование одного PCI-прерывания несколькими устройствами является вполне нормальным состоянием, этого все же лучше избегать, т. к. система, не знающая откуда пришло прерывание, вынуждена опрашивать все устройства по очереди. Теоретически это требует нескольких десятков таков системной шины (или порядка тысячи тактов процессора), практически же… на рынке присутствует большое количество устройств не вполне соответствующих спецификациям и вызывающих обвальное падение производительности при разделении своего прерывания с другими устройствами.

Речь идет отнюдь не о линях IRQ, настраиваемых в Диспетчере Устройств, а именно об аппаратных прерываниях. Дешевые материнские платы жестко закрепляют за каждым PCI-слотом свой набор прерываний, более дорогие модели позволяют манипулировать прерываниями из BIOS. Варьируя настройки или переставляя платы из одного слота в другой, добейтесь наибольшей производительности системы (при устранении конфликтов обычно она увеличивается в несколько раз), при этом следует учитывать, что ACPI-контроллер имеет тенденцию вешать все PCI-прерывания на одно IRQ (обычно это IRQ 9). Если это так, зайдите в Диспетчер Задач и присвойте каждому из устройств свою линию прерывания. Вопреки распространенному мнению, приоритет прерывания (чем ниже номер IRQ тем выше приоритет) на производительность системы не оказывает ровным счетом никакого влияния (правда, неудачная расстановка приоритетов может приводить к конфликтам различной степени тяжести, но это тема отдельного разговора). Правда не факт, что эти изменения возымеют действие. ACPI – контроллер виртуализует IRQ и отображаемые Диспетчером Устройств значения могут не соответствовать действительным. К сожалению, отключение ACPI требует переустановки системы и лишает вас возможности сброса содержимого оперативной памяти на диск, о котором писалось выше. Так что использовать ACPI или нет, – решать вам.

Рисунок 6 ACPI-контроллер вешает все устройства на одно прерывание, что не есть хорошо

Windows по большому счету это просто куча динамических библиотек (они же DLL – от DynamicLinkLibrary). Большинство динамических библиотек загружаются и выгружаются на лету – по мере возникновения в них необходимости, однако, специальный ключ реестра хранит имена DLL, подключаемых еще на стадии загрузки системы и никогда не выгружаемых вплоть до завершения работы с ней. С одной стороны, это увеличивает время загрузки Windows и объем потребляемой памяти, с другой – ускоряет время загрузки самих приложений. Но, если Windows в идеале загружается не чаще одного раза в день, то открывать/закрывать приложения приходится многократно.

Запустите Редактор Реестра и откройте следующую ветвь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLs, в которой, как вы видите «прямым текстом» перечислены имена библиотек, известных системе. «Имя» – это имя библиотеки без расширения, а «значение» – имя библиотеки с расширением и, при необходимости, еще и с путем, если он отличается от каталога System32. Прописав сюда наиболее интенсивно используемые DLL своих фаворитных приложений, вы сэкономите немало времени! Определить какие конкретно динамические библиотеки использует данного приложение вам поможет уже упомянутый Файловый Монитор Марка Руссиновича или утилита dllviewer, которую можно скачать с его же сайта.

Рисунок 7 раздел реестра, отвечающий за упреждающую загрузку динамических библиотек

Рисунок 8 Файловый Монитор за работой

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