Подкуем Windows, или оптимизация разгона-2

5 января 2004, понедельник 00:18

Эта работа была прислана на наш "бессрочный" конкурс статей и автор получает поощрительный приз – бейсболку с логотипами Abit Engineering и Intel..


Недавно я писал статью, в которой оптимизация производилась на аппаратных средствах. Эта статья описывает настройку и оптимизацию работы самой Microsoft Windows в основном версии XP, а так же некоторые приёмы пригодятся для обладателей Windows 2000 и 9x/NT (если у кого-то до сих пор стоит). Будет описана модификация реестра, файлов system.ini, msdos.sys, config.sys, autoexec.bat (каковые имеются в системе), а также работа с файлом подкачки, оптимизация работы файловой системы и настройка стандартных средств Windows.

Файл подкачки

Начнём с файла подкачки. Файл подкачки или swap-файл – область на жёстком диске, которую система использует в качестве виртуальной памяти. Зачастую многие пользователи доверяют системе определение и работу свопа, доверяют рекомендациям Microsoft, и в результате получают медленную скорость работы и фрагментацию своего винчестера. По умолчанию Windows ставит текущий объём файла подкачки равным размеру физической памяти, а рекомендованный объём делает в полтора раза большим. Конечно если у вас 256 мегабайт обыкновенной и ничем не примечательной памяти, размер файла будет вполне оправдан – около 384 мегабайт. Но если памяти больше, например 512 мегабайт, то получается, файл подкачки будет 768 мегабайт? Исходя из таких соображений и размеров моего винчестера, плевать я хотел на их рекомендации. В установке "правильного" своп - файла нам поможет мониторинг системы.

обязательно укажите файл подкачки постоянным

Для начала в разделе Мой компьютер-Свойства-Дополнительно-Быстродействие-Дополнительно-Виртуальная память устанавливаем в поле максимальный размер какое-нибудь значение (например, для 128Mb или 256Mb – 400 мегабайт, для 512Mb – 200 мегабайт), задать и затем перезагружаемся. В Панели управления заходим в Администрирование, и переходим в пункт Производительность. Раскрываем пункт "Журналы и оповещения производительности", правой кнопкой на "Журналы счётчиков", и в меню выбираем "Новые параметры журнала".

создание параметра счётчика swap_log

Присваиваем параметру любое имя (например, swap_log). В появившемся окне нажимаем "Добавить счётчики", в выпадающем окне "Объект" выбираем Файл подкачки. В разделе "Выбрать счётчики из списка" выбираем % использования (пик), затем "Добавить".





В объекте нужно выбрать "файл подкачки"

Возвращаемся в предыдущее меню, переходим в "Файлы журнала" и в списке "Тип файла журнала" выберите Текстовый файл (разделитель – запятая). При нажатии кнопки OK на вопрос, создавать ли каталог C:\PerfLogs, ответьте да.

Теперь несколько дней гоняем нашу бедную персоналку. Хватит и 2-3 дней, главное загрузите компьютер по полной программе и постарайтесь несколько раз его перезагрузить, (только не каждые пять минут). Когда сочтёте, что хватит, открываете файл с названием что-то типа swap_log_000001.CSV, который находится в папкеС:\PerfLogs\. В длинной колонке, состоящей из множества строк типа "12/25/2003 13:04:51.259,"39.5953124999999999", в конце каждой строки будет некое загадочное число (выделено). Это число – процентный показатель используемой системой объёма файла подкачки (пиковые значения).

реально используемый объём файла подкачки

Теперь нам осталось вычислить действительно нужный объём файла подкачки (причём рекомендую всё же набавить процентов пять – на всякий случай). В моём случае от первоначально указанного системой как рекомендуемый объёма 400 мегабайт понадобилось только 290 (при размере оперативки – 256Mb), куда она тратила остальное – непонятно. Замечу, что производительность ни на попугай не упала ни в тестах, ни в реальных приложениях. Для самых ленивых я даже вычислил приблизительный объём своп – файла:

Результаты годятся для обыкновенного пользователя, поэтому, если вы занимаетесь 3D-моделированием или оцифровкой фильмов в реальном времени (хотя я глубоко сомневаюсь, что вы будете делать это на таком компьютере) результат лучше вычислить самому. Кстати обязательно указывайте постоянный объём свопа, то есть в полях обычного и максимального значения должно быть максимальное значение. Если вы последуете рекомендациям Microsoft и установите его динамическим, то будет происходить дефрагментация винчестера. Даже если системе экстренно потребуется лишнее место (на уровне драйверов), она займёт его и без ваших указаний, хотя такое случается редко. И не забудьте перенести своп – файл в начало локального диска, на котором установлена ОС – это в отличие от встроенных средств Windows могут делать современные программы дефрагментации жёсткого диска.

Расположение информации на винчестере

Хоть это и звучит довольно просто и незатейливо, но у большинства пользователей информация на диске свалена в одну большую кучу и даже не разбита на разделы. Лично я разбивал свой диск на три логических диска, на первом – диске "С" установлена операционная система (Windows XP) и самые важные программы и утилиты, к которым необходим быстрый доступ, а так же папка с важными или динамически изменяемыми документами. Размер – 4Гб. Второй диск – "D" у меня играет роль архива. Там у меня хранятся файлы, программы, игры – всё в заархивированном виде (если это требуется), а так же ещё одна папка с документами, которые используются не часто. И, наконец, диск "E". На нём установлены обычные игры и программы. Такое разделение диска сильно упрощает работу, легче выявить нарушения в работе, дефрагментация идёт быстрее, а так же лучше работает индексация. Тем, у кого свалка – обязательно приберитесь, и не храните всё на одном логическом диске.

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





Теперь займёмся регулированием системных служб. Вообще системные службы представляют собой процессы, запускаемые системой при старте. Каждый из процессов задействует ресурсы памяти и процессора, а если процессов запускается много, то все они могут заметно подтормаживать работу компьютера. Многие из служб можно отключить, например, совершенно безболезненно можно отключить службы Telnet и DHCP, если у вас нет модема, или Службу сетевого DDE, Службу времени Windows, Обозреватель компьютеров, если у вас нет локальной сети. Теперь подробнее:

Вызываем программу управления службами (Администрирование – Службы, или командой services.msc из меню "Выполнить"):

больше половины системных служб совершенно не нужны

Portable Media Serial Number Service. (серийный номер переносного медиа - устройства) – служба для получения серийного номера любого портативного аудио устройства (mp3- или H-DISC- плеера) подключаемого к компьютеру. Эта галиматья была введена Microsoft в целях борьбы с аудио пиратством, и обязательно должна быть отключена.

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

Telnet. Редкая служба, позволяющая удалённому пользователю заходить на ваш компьютер и запускать на нём программы. Если вас раздражает, что кто-то из сети постоянно включает Winamp во время работы в офисе, рекомендую отключить?.

Планировщик заданий. Позволяет настраивать расписание автоматического выполнения задач на компьютере. Если не пользуетесь планировщиком – отключайте.

Темы. Управляет темами оформления. Не любите картинок рабочего стола и пукающих звуков? Вполне можно отключить.

Удалённый реестр. Позволяет удалённым пользователям изменять параметры реестра на вашем (и не только) компьютере. Абсолютно никто этого не допустит, поэтому отключаем.

Телефония. Если у вас нет модема, то отключайте.





Брандмауэр подключения к Интернету для IPv6 если вы пользуетесь ПО сторонних разработчиков, то можете отключить этот процесс.

DHCP–клиент. Автоматическое определение IP-адреса и DNS-имён. Если нет модема или локальной сети – отключаем.

Беспроводная настройка. Автоматическая настройка адаптеров интерфейса 802.11, при отсутствии отключаем.

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

Модуль поддержки смарт-карт. Обеспечивает поддержку старых смарт-карт. Отключаем

Смарт-карты. Почти то же самое, что и предыдущее. Отключаем.

Источник бесперебойного питания. Если UPS’а нет, также отключаем.

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

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

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





Справка и поддержка. Ну, здесь и так всё понятно. Не нужна - отключайте.

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

Оптимизация системных файлов

А теперь приготовьтесь к большому потоку сухой информации. Оптимизация файлов (Msdod.sys, Config.sys, Autoexec.bat, System.ini) – в большинстве для 98/Me и реестра – для всех. Данные файлы очень важны при работе системы, неправильное изменение может привести к краху системы, поэтому сделайте резервное копирование системных файлов:

MSDOS.SYS

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

Список параметров и их значений, повышающих скорость загрузки:

BootDelay=0 указывает время задержки после выдачи сообщения Starting Windows. Не поддерживается в Windows 98.

DisableLog=1 сообщает, что не нужно создавать загрузочный журнал.

Logo=0 говорит о том, что не требуется отображать эмблему Windows.

Network=0 (1) Свидетельствует об отсутствии или наличии сети – ускоряет процесс загрузки.

SystemReg=0 указывает, что при загрузке не сканируется реестр.

DblSpace=0 предупреждает, что не используется система сжатия.

Редактирование данных параметров позволяет несколько повысить скорость загрузки системы.

Config.sys

Перечислены параметры, влияющие на производительность системы:

SWITCHES=/F указывает о пропуске при загрузке паузы в 2 секунды.

ACCDATE= C- F - применяется для установки в системе имён дисковых накопителей, не использующих работу с датами последнего обращения к файлам, это несколько повышает быстродействие файловых операций, но затрудняет функционирование отдельных программ сортировки файлов на винчестере по датам последнего доступа.

DEVICE-C:\WINDOWS\HIMEM.SYS/TESTMEM:OFF/Q параметр TESTMEM: OFF запрещает при загрузке тестировать память, а параметр /Q не позволяет выводить сообщения о ходе загрузки.

DEVICE-C:\WINDOWS\EMM386.EXE RAM A=64 H=128 D=256 AUTO NOTR параметр NOTR велит драйверу EMM386 не производить поиск адаптера Token Ring Network, D=256 задаёт объём буфера прямого обмена с памятью равным 256 килобайт.

BUFFERSHIGH=65, 0/x требуется дополнительное кэширование, поскольку в DOS работа с диском FAT32 происходит заметно медленнее, чем в Windows.

STACSHIGH=9,256 указаны число и величина стековых областей, иногда для ускорения загрузки предлагается установить 0, 0.

Autoexec.bat

Основные команды в этом файле обеспечивают поддержку в DOS русского языка и запуск драйверов и различных устройств. Две его строки указывают приложениям место для размещения временных файлов:

SET TMP=
SET TEMP=

Учтите, что целесообразно организовать такое место не на загрузочном диске, иначе после сбоев могут появиться потерянные кластеры.

Напомню, что данные улучшения вы сможете адаптировать в среде систем 95/98/Me.

System.ini (все системы)

В секции [386Enh] необходимо сделать следующие установки:

PageBuffers=32 для повышения скорости работы с файлом подкачки постоянного размера.

ConservativeSwapefileUsage=1 для запрета системе Windows 98/Me использовать без особой необходимости файл подкачки.

Отредактируйте параметр [386Enh] файла system.ini

Важное значение имеет и группа таких параметров, как:

[vcache]
minfilecache=
maxfilecache=
chunksize=512

Если в файле System.ini не окажется этой секции, то создайте её и задайте указанные параметры.

Последние определяют размер области памяти, отводимой под дисковый кэш (область быстрого доступа). В операционной системе данные сначала считываются в кэш, затем сбрасываются на диск. При выборе значений параметров секции [vcache] руководствуйтесь объёмом установленной оперативки и скоростью винчестера.

Вообще система Windows 9x поддерживает до 2 гигабайт оперативной памяти, но при количестве более 512 мегабайт и работе большого количества приложений, скорость работы даже может снизиться, и даже появятся сбои. Чтобы этого избежать, зафиксируйте в файле параметры:

[vcache]
MaxFileCache= 128000

и

[386Enh]
MaxPhysPage=4000

Оптимизация системного реестра

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

Оптимизация системного реестра для Windows 9x/Me (и отчасти NT4-5)

Управление приоритетами процессора.

Для Windows 9x/Me

С помощью управления приоритетом задач можно добиться более эффективного использования процессора. Работа любого приложения Windows зависит от параметра CPUPriority. Если задать CPUPriority=0, все активные приложения получат дополнительные циклы процессора.

CPUPriority=1 – все загруженные приложения (и активные и фоновые) получают несколько больше циклов процессора, чем загружаемые.

CPUPriority=2 – все загруженные приложения (и активные и фоновые) имеют гораздо больше циклов, чем загружаемые.

CPUPriority=3 – все приложения делят одни и те же циклы процессора (установлено по умолчанию).

Для того чтобы установить эти параметры, запустите редактор реестра. Откройте раздел HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\BIOS. В правой панели создайте новый параметр DWORD, назовите CPUPriority и задайте одно из выше названных значений.

Есть ещё несколько параметров, влияющих на распределение приоритетов. Там же, где был организован CPUPriority, создайте ещё три параметра DWORD и присвойте им значения:

PCIConcur=1 (разрешено)
FastDRAM=1 (разрешено)
AGPConcur=1 (разрешено) – при установленной AGP-видеокарте

Для Windows 9x/Me/NT4-5.

С помощью параметра Priority Control можно управлять перераспределением приоритетов между активными и фоновыми задачами. Запустите редактор и войдите в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl. Если раздела PriorityControl нет, то создайте его (в Control "Создать/раздел"). В правой панели организуйте параметр DWORD-Win32PrioritySeparation, и придайте ему одно из следующих значений:

0 – активные и фоновые задачи имеют одинаковые приоритеты
1 – приоритет активных приложений больше, чем у фоновых приложений
2 – активные приложения имеют гораздо больший приоритет, чем фоновые

Оптимизация работы файловой системы

Отложенная запись и время задержки.

Чтобы убедиться, что отложенная запись для съёмных накопителей разрешена, нужно войти в Панель управления/Система, закладка Быстродействие, далее Файловая система и отметить закладку Съёмный диск. Так же должна быть включена функция "Разрешить буферизацию записи для всех съёмных дисков".

В Windows 98 SE и Me можно увеличить время задержки данных в КЭШе перед сбросом их на диск. Данный приём повышает производительность системы, однако при этом возрастает риск потерять данные при сбоях, а так же из-за того, что некоторые контроллеры жёстких дисков забывают сбросить на них информацию по завершении работы системы. Итак, запустите редактор реестра, перейдите в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version. В правой панели создайте новый параметр DWORD и присвойте ему имя CacheWriteDelay. Измените по своему усмотрению параметр, вписав в поле значение, число в секундах, умноженных на тысячу. Например, если задержка равна 2 секунды (по умолчанию), то в поле напишите 2000, в секции "Система исчисления" включите опцию "Десятичная" и нажмите OK – должна появиться запись CacheWriteDelay 0x000007d0 (2000).

Задание размера блока данных для упреждающего чтения.

Смысл упреждающего чтения – обработка одного имеющегося в памяти блока одновременно с запросом и считыванием другого. Чем больше будет значение параметра упреждающего чтения, тем выше станет производительность системы при последовательном доступе. По умолчанию максимальная величина блока данных для упреждающего чтения равна 64 Кбайт. Чтобы изменить это значение запустите редактор реестра и перейдите к разделу HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\. Если в правой панели отсутствует двоичный параметр, то создайте его и назовите ReadAheadThreshold. Затем измените значение. Обратите внимание, что размер указывается в байтах, а разряды записываются в обратном порядке. Например, значение блока упреждающего чтения составляет 96Кбайт, что равно 98304 байт, а в шестнадцатеричном виде – 00 01 80 00h. В обратной последовательности: 00 80 01 00. Сначала вводите 00, затем 01 и т.д.

Задание размера свободной области дискового пространства при записи данных на диск.

На производительность файловой системы влияет и размер записываемого блока данных. По умолчанию Windows сбрасывает данные в первый попавшийся свободный участок величиной 512 килобайт. Затем происходит обращение к файловой системе о выделении следующих 512 Кбайт и т.д. Видно, что при такой работе происходит дефрагментация диска, и тратится время на запрос и поиск пространства. Поэтому рекомендуется увеличить не менее чем вдвое размер свободного пространства, запрашиваемого системой для записи. В этом случае прирост производительности будет заметнее при работе с файлами большого объёма. Размер свободного пространства лучше выбирать в интервале 1024-4096 килобайт с учётом объёма винчестера. Чтобы выполнить эту операцию, запустите редактор, перейдите к разделу HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\. В правой панели создайте новый параметр DWORD с именем ContigFileAlloSize и измените его значение, дважды щёлкнув на имени и введя в текстовое поле значение в килобайтах.

Оптимизация работы с дисководом CD- ROM.

При работе с компакт-дисками Windows так же использует кэширование и упреждающее чтение. Однако стандартные средства позволяют пользователю установить не более 1238 килобайт, а оптимизацию упреждающего чтения – задавать для 8-скоростныз дисководов CD-ROM. Есть способ обойти эти ограничения. Откройте раздел реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\CDFS. Учтите, что значение параметра DWORD CasheSize задаёт размер, отводимый под кэш-память. Величину памяти в килобайтах, которую вы хотите выделить под кэш, разделите на два, и результат внесите в реестр. Значение параметра DWORD Prefetch определяет величину блока информации для упреждающего чтения с дисководов.

Зависимость величины блока информации для упреждающего чтения от скорости дисковода:

Изменение времени принудительного завершения приложений.

Величиной интервала времени, который даётся Windows, для того чтобы закрыть приложения тоже можно управлять. Откройте редактор реестра и перейдите к разделу HKEY_CURRENT_USER\Control Panel\Desktop. Создайте два новых строковых параметра: HungAppTimeout и WaitToKillAppTimeout. Первый параметр указывает, сколько времени (в миллисекундах) операционная система даст приложению при попытке его закрытия известной комбинацией клавиш. По умолчанию значение составляет 5000мс. Второй параметр – промежуток времени, выделенный приложению на самостоятельное завершение по окончании работы с ОС (выключение или перезагрузка). По умолчанию он составляет 20000мс. Как производится установка значений HungAppTimeout и WaitToKillAppTimeout, уже было рассказано. Рекомендуется установить значение первого параметра равным 1000мс., а второго – 5000мс.

Ускорение завершения работы системы.

Наверняка вы встречались с сообщением о том, что какое-то приложение ещё выполняется и сначала надо закрыть его, а уже потом выходить из системы. Подобная ситуация возникает тогда, когда программа не может корректно обработать сообщение о завершении работы. Оказывается, в реестре существует параметр, значение которого влияет на поведение Windows в такой ситуации. Чтобы изменить его, запустите редактор и перейдите к разделу HKEY_CURRENT_USER\Control Panel\Desktop. Создайте (если его не существует) новый строковый параметр и назовите его AutoEndTasks. Если присвоить ему значение "0" (или вообще отсутствие его), то завершение приложений переложится на пользователя, если "1", то ОС будет сообщено о принудительном закрытии приложений, не способных самостоятельно закончить работу при "выходе" из Windows.

Оптимизация системного реестра для Windows XP
.

Конфиденциальность.

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

обеспечение конфиденциальности посредством параметра ClearPageFileAtShutdown

Общее ускорение.

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

Так же в том же разделе реестра находится переменная LargeSystemCache. Если ей присвоить значение "1", то система будет работать несколько быстрее (но тоже, если памяти больше 256Мб).

Отключив систему POSIX (которая никогда не используется) можно немного увеличить скорость работы. Найдите в реестре раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems и удалите в нём строки Optional и POSIX.

Удаление неиспользуемой системы POSIX

Некоторые удобные красивости (или красивые удобности).

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

  • +D – показать рабочий стол (сворачивает и разворачивает все открытые окна).
  • +Tab – позволяет выбирать нажатиями окна на панели задач.
  • +L – позволяет быстро и без лишних вопросов завершать работу пользователя, (программы продолжают работать), при возвращении требуется ввести пароль (если он есть).
  • +Pause/Break – открывает окно "Система" "Панели управления".

Команда control userpasswords2 (вводите в окно командной строки) позволяет изменять пароли пользователей и убирать так надоедающее многим окно приветствия при старте системы.

Окно изменения пароля и настроек старта системы

Присутствует аналог листа процессов, который можно вызвать из командной строки посредством команды tasklist – отображает все процессы с их PID – номерами. С помощью команды taskkill (вместе с PID – номером процесса) можно завершать работу процесса.

Лист процессов – аналог диспетчера задач Windows

Из той же командной строки можно узнать сведения о системе – посредством команды systeminfo.

Информация о системе – аналог сведений о системе Windows

Запускать эти команды лучше всего в DOS – окне (Пуск – Программы – Стандартные - Командная строка).

Можно удалять ненужные программы Windows (например, Windows Messenger), которые не удаётся удалить обычным образом. Найдите файл sysoc.inf в папке Windows/inf. В некоторых строчках присутствует слово hide, которое надо удалить, оставив две запятые подряд.

Делаем скрытые параметры доступными при помощи файла sysoc.ini

Теперь в меню Установка компонентов Windows вы увидите то, чего там раньше не было.

На этом снимке мы собственно тела службы Microsoft Messenger не видим…

…а после манипуляций с файлом sysoc.ini оно появляется, и его можно удалить

Пожалуй, пока это всё. Надеюсь, информация кому-нибудь понадобится.

SEKTOR

Страницы материала
Страница 1 из 0
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают