Рассказываю, как правильно увеличить быстродействие системы (Windows) и обеспечить ее безопасность.
Очень сильно увеличить быстродействие компьютера путем системных настроек можно, только если у вас есть явные ошибки в этих самых настройках. Поэтому, в первую очередь, проверьте правильность написания файлов AUTOEXEC.BAT и CONFIG.SYS: в них не должны находиться ДОСовские драйвера типа MSCDEX.EXE, MOUSE.COM, SBIDE.SYS или SMARTDRV.EXE. Это легко сделать с помощью программы Msconfig.exe, которая находится в папке C:\WINDOWS\SYSTEM. Далее, откройте Панель Управления, меню "Система" и просмотрите вкладку "Устройства" (Device Manager), если там вы увидите отметки в виде восклицательных знаков, значит необходимо установить верные драйвера для некоторых устройств (скачайте их из Интернета). Иногда помогает удаление конфликтующего устройства и перезагрузка компьютера, после которой, винды, переустановив драйвера, могут устранить конфликт. Просмотрите внимательно свойства каждого устройства в этом списке - возможно, вы увидите какие-нибудь дополнительные настройки на закладках "Settings". Например, для звуковой карты можно включить трехмерный звук и режим Full-Duplex, у CD-ROMa надо включить режим DMA (если он поддерживается приводом), включить для всех дисков "Sync Data Transfer" - это тоже может избавить от некоторых глюков. В настройках COM-портов нужно увеличить максимальную скорость до 921600 бит в секунду, и установить: Data Bits = 8 Parity = none Stop Bits = 1 Flow Control = hardware На вкладке "Дополнительно" настройки портов включите использование FIFO буфера и задайте максимальные значения размеров приемного и передающего буферов. Полезно будет посмотреть вкладку "Устройства" меню "Система" в режиме "Safe Mode" ("Безопасный Режим" или "Режим защиты от сбоев") - некоторые глюки бывают из-за того, что в этом режиме появляются, вдруг, лишние устройства, например, еще один монитор или винчестер.
На вкладке "Система"/"Быстродействие"/"Файловая Система" определите роль компьютера как "сервер", это отведет больше памяти под пути к папкам и файлам, что уменьшит обращение к дискам (утилита Cacheman позволяет выделить под кэш еще больше памяти). Отмените поиск флоппи-диска при включении компьютера, а для CD-ROMa отведите больше памяти под кэш. На вкладке "Виртуальная Память" можно установить постоянный размер файла подкачки, что заметно ускорит работу машины. Для этого установите максимальный размер свап-файла равным минимальному в пределах 40-80 мегабайт (некоторые приложения требуют памяти более 100 мегабайт, например игра "SiN"), а если у вас два винчестера (но не один, разбитый на два диска!), то можно переместить свап-файл на другой винт, это тоже даст выигрыш в скорости. После этого проведите дефрагментацию (ее вообще надо проводить регулярно) дисков с помощью Norton SpeedDisk, эта утилита поместит файл виртуальной памяти в начало диска, что также прибавит быстродействия.
Загляните на вкладку "Конфигурация" диалога "Сеть" в панели управления и, если вы не подключены к сети, то оставьте только следующие сетевые компоненты: Dial-Up adapter, TCP/IP, Microsoft Family Logon (естественно, если вы подключены при этом к Интернету, а если нет, то и эти компоненты не нужны, но как, тогда, вы это читаете?), это может избавить от некоторых глюков.
Можно кое-что подправить в разделе [vcache] файла SYSTEM.INI, увеличив, тем самым, размер дискового кеша. Для этого надо вставить в раздел [vcache] строки (при оперативке 64 метра): MinFileCache=16384 MaxFileCache=16384 ChunkSize=512 Размер кеша должен быть примерно равен 25% оперативной памяти. Но для подбора оптимального размера кеша лучше всего все-таки поэкспериментировать самому, не полагаясь особенно на чужие советы, иначе эффект для конкретного компьютера может быть обратным, и часто больший выигрыш в скорости дает экономия оперативки, а не увеличение кеша. Посмотреть, в каких пределах меняется размер дискового кеша и какова его эффективность можно с помощью программы VCashe Monitor. Существует небольшая утилитка для автоматизации настройки дискового и файлового кеша, очень наглядная, простая и удобная: Cacheman. Прочитайте небольшую статейку на эту тему, поэкспериментируйте с настройками, например, увеличение с ее помощью буфера кеша, отводимого под пути к файлам и папкам, сократит в несколько раз число обращений к винчестеру при навигации по дискам. При этом регулируются те же параметры, что и на вкладке "Жесткие диски" свойств файловой системы меню "Система"-"Быстродействие", но в более широких пределах, чем задают винды. Если на этой вкладке вы определили роль компьютера, как "Сервер сети", то NameCache=2729 и PathCache=64 - это максимум, что может предложить Windows. Однако, если размер оперативки больше 48 мегабайт, лучше выставить NameCache=4096 и PathCache=96. В реестре эти параметры выставить вручную сложнее: создайте ключ [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\FS Templates\Cacheman] @="Cacheman Settings" "NameCache"=hex:00,10,00,00 "PathCache"=hex:60,00,00,00 , после этого, на вкладке "Жесткие диски" свойств файловой системы выберите новую строку "Cacheman Settings" в списке вариантов для роли компьютера.
Один из недостатков Windows состоит в том, что система, записывая файл на диск, располагает его на первых попавшихся свободных кластерах, сильно фрагментируя большие файлы. Для того, чтобы система сначала нашла для нового файла подходящее по размеру место на диске и поместила его туда не фрагментируя, необходимо добавить в реестр параметр: [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem] "ContigFileAllocSize"=dword:000001f4. Это можно сделать с помощью программы WinBoost2000 - один из ее пунктов включает этот режим, очень полезный при работе с мультимедиа (уменьшается нагрузка на диск при воспроизведении видео или звуковых файлов).
В SYSTEM.INI можно дописать в секцию [386Enh] параметр для своп-файла PagingFile=C:\WINDOWS\Win386.swp (может уменьшить вероятность зависания ПК при выключении). Некоторые "товарищи" рекомендуют увеличить размер буфера очереди с 8К до 32К: [windows] DefaultQueueSize=32 Изменить параметры DMA и увеличить количество буферов виртуальной памяти: [386enh] DMABufferSize=64 PageBuffers=32 Потестируйте некоторое время систему с новыми параметрами, чтобы определить, увеличилось ли быстродействие или лучше все вернуть к исходному варианту.
А в MSDOS.SYS весьма желательно отключить протоколирование загрузки, двойную буферизацию и загрузку драйверов сжатых дисков (смотри примеры файлов). Некоторые параметры, значения которых надо проконтролировать, в этом файле такие: Logo=1 - разрешена заставка при загрузке BootMulti=0 - отключен Dos по нажатию F4 при загрузке BootGUI=1 - разрешен графический интерфейс DoubleBuffer=0 - отключает двойную буферизацию некоторых SCSI устройств DisableLog=1 - Не создавать файл протокола загрузки в корневом каталоге (BootLog.txt) - рекомендую включать создание файла отчета только при необходимости его просмотреть! AutoScan - отвечает за то, как будет вести себя система, если до этого система завершила работу аварийно, т.е будет ли проводиться сканирование дисков и как: AutoScan=0 - несмотря на аварийное завершение работы файловая система проверяться не будет. AutoScan=1 - файловая система после предыдущего аварийного завершения работы проверяться будет, но предупредит об этом. AutoScan=2 - файловая система после аварийного завершения проверяеся без запроса разрешения на это DblSpace=0 - отключено использование драйвера сжатых дисков DoubleSpace DrvSpace=0 - отключено использование драйвера сжатых дисков DriveSpace BootDelay=0 - при загрузке система не будет ждать несколько секунд. LoadTop=1 - разрешена загрузка Command.Com или Drvspace.Bin в верхнюю память Значение по умолчанию 1. Все эти изменения может вносить в файл MSDOS.SYS утилита TweakUI, а программа MSDOS.SYS-Editor предоставит вам удобный и простой графический интерфейс для изменения всех параметров этого файла.
В папке C:\WINDOWS\SYSTEM есть утилита WALIGN.EXE, она особым образом "выравнивает" некоторые программные файлы, чтобы они запускались непосредственно из кэша, что ведет к повышению производительности компьютера, хотя файлы несколько увеличиваются в размере. Однако, если у вас не стоит MS-Office эта утилита не хочет работать.
Пользователи компьютеров давно вывели новый закон природы: "оперативной памяти не может быть много". Для более рационального использования всех типов оперативной памяти рекомендую в CONFIG.SYS прописать строку DOS=HIGH,UMB,NOAUTO, чтобы не загружались SETVER.EXE (нужен для старых ДОС-программ) и DBLBUFF.SYS (нужен для SCSI-дисков) - чем меньше грузится всякой ерунды - тем лучше. Желательно использовать в конфигурационных файлах команды с приставками HIGH, например DEVICEHIGH, LOADHIGH, INSTALLHIGH, BUFFERSHIGH, FCBSHIGH, FILESHIGH, LASTDRIVEHIGH, STACKSHIGH (если они вам нужны), для освобождения базовой памяти. Для этого впишите сначала в CONFIG.SYS строки: DEVICE=C:\WINDOWS\HIMEM.SYS /VERBOSE /TESTMEM:Off DEVICE=C:\WINDOWS\EMM386.EXE NOEMS VERBOSE для использования верхней памяти. Внимание! Если вы при этом не добавите в CONFIG.SYS строку DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS, то ваш компьютер может не загрузиться, так как команда DOS=NOAUTO отключает загрузку и этого драйвера файловой системы. Используйте в этом случае загрузочный флоппи-диск или компакт для добавления в конфиг этой строки. Параметр HIGHSCAN (может еще немного добавить свободной верхней памяти) для EMM386 лучше не использовать, так как высока вероятность того, что это приведет к ошибкам и система зависнет.
Необходимо отметить, что винды сами загружают по умолчанию (если в конфиге не прописано DOS=NOAUTO) как бы "невидимый" CONFIG.SYS, в котором такие строки:
dos=high, auto device= c:\windows\himem.sys device= c:\windows\ifshlp.sys device= c:\windows\setver.exe fileshigh=30 lastdrivehigh=z buffershigh=30 stackshigh=9,256 shell=command.com /p fcbshigh=4Эти драйвера грузятся, даже если в вашем конфиге они не прописаны (и, даже, если отсутствуют файлы AUTOEXEC.BAT и CONFIG.SYS), при этом, если у вас уже записаны в CONFIG.SYS команды без приставок HIGH (например files), то выполняться все равно будут команды с этими приставками (типа fileshigh), для использования старших адресов памяти (вернее, винда сама решает - использовать старшие адреса памяти или нет, и чаще всего окончания "HIGH" к командам добавляет). Значения, задаваемые командами files, lastdrive, buffers, stacks, fcbs и драйвер SETVER.EXE нужны только приложениям MS-DOS, Windows'98 эти параметры не требуются. Существует и "скрытый" AUTOEXEC.BAT:
@echo off net start set tmp=C:\windows\temp set temp=C:\windows\temp set COMSPEC=C:\COMMAND.COM prompt $p$g path c:\windows; c:\windows\command
Изменяя значения конфигкрационных параметров, используемых виндами по умолчанию, можно добиться более рационального распределения памяти. Немного базовой памяти можно высвободить, если задать командой LASTDRIVEHIGH букву реально последнего дисковода (по умолчанию памяти выделяется больше: резервируется под все диски от A до Z) - на каждый дополнительный диск расходуется 80 байт. Желательно командой STACKSHIGH=0,0 отменить выделение памяти под стеки, отводимые для временного хранения различной системной информации и нужные только старым ДОСовским программам. Командой BUFFERSHIGH=20 можно ограничить количество буферов дискового ввода-вывода (каждый занимает 532 байта), так как винды используют собственную систему кеширования дисковых данных VCache, а для MS-DOS MODE этого значения вполне обычно хватает. Еще один параметр, нужный в режиме эмуляции MS-DOS досовским программам - FCBS, задающий количество неких блоков управления файлами, на что, естественно, опять уходит ценная память (64 байта на каждый), его значение можно изменить на FCBSHIGH=1. Базовую память можно сберечь, задав параметр FILESHIGH=10, уменьшив тем самым число обработчиков файлов с 30 до 10 (на каждый по 60 байт, примерно). Если вы никогда не загружаете режим эмуляции MS-DOS, то можете выставить еще меньшие значения этих параметров, мой же вариант расчитан на поддержку и зтого режима. Если же вы используете какую-нибудь устаревшую программу, которая хочет работать только из режима эмуляции MS-DOS, то вам, возможно, придется изменить эти параметры, опять увеличив их значения, иначе некоторые из ДОСовских программ не запустятся, или даже включить поддержку устаревшей EMS-памяти, добавив параметр RAM к драйверу EMM386! Например: DEVICE=C:\WINDOWS\EMM386.EXE RAM VERBOSE При этом, возможно, придется отказаться от драйвера си-ди-рома и некоторых других досовских драйверов для максимального увеличения обьема базовой памяти - лучше всего это сделать, не меняя основные файлы конфигурации, а создав для этой программы свой PIF-файл, в котором и задать нужные значения.
При наличии в корне системного диска файла dblspace.bin или drvspace.bin Windows загрузит соответствующий драйвер сжатых дисков, даже если вы не используете эту функцию, поэтому не забудьте удалить эти файлы!
Очень полезно посмотреть, что грузится, выбрав в загрузочном меню (нажать кнопку F8, при загрузке ПК, для его вызова) режим "Step-by-step confirmation". При этом вы сможете увидеть и исправить ошибки в конфигурационных файлах которые обычно возникают из-за неправильного написания путей к драйверам и файлам. А проверить, насколько эффективно распределяется память, можно с помощью команды "MEM /P/C", которую надо набрать в меню "Выполнить" ("Run") кнопки "Пуск". Если в появившемся окне вы увидите примерно такие значения (скриншот): Largest executable program size=614032 (600k) Largest free upper memory block=0 (0K) MS-DOS is resident in the high memory area То все в порядке. Еще одна полезная команда "MEM /D/P" более детально покажет использование памяти.
Иногда нужно выделить больше памяти под переменные окружения (например, если вы хотите задать дополнительные параметры для видеоускорителя от 3dfx в автоэкзеке, а получаете сообщение "Out of environment space"), в этом случае пропишите строку в конфиге: SHELL=C:\COMMAND.COM /P /E:1024
Обьем свободной оперативной памяти может резко уменьшится при использовании буфера обмена, особенно если в нем хранится большая картинка, поэтому не забывайте после работы с буфером в мощных программных пакетах очистить его, например скопировав всего одну букву из блокнота.
Автор текста: JAM