IZONE - http://www.izcity.com/ - бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

 IZONE 


Несколько поучительных экспериментов
или Оптимизация работы дисковой
системы компьютера-2

Сергей Трошин
stnvidnoye@chat.ru
http://stnvidnoye.chat.ru

Теперь попробуем поставить самый новый драйвер для современных контроллеров от Intel - "Intel Ultra ATA Storage Driver". Запускаем программу установки и… получаем сообщение, что с чипсетом 430TX оно не работает.

Наглая ложь! Предварительно распаковав архив с файлами драйвера, запускаем SETUP с секретным ключом: "setup -piix_install". И - о чудо! - встал супер-свежий драйвер версии 6.03.007. Причем вручную его выбирать не пришлось - драйвер сам сразу правильно установился. Если же все-таки добраться до страницы со списком совместимых драйверов, то там можно увидеть, что он прописан как "Intel 82371 AB/EB PCI Bus Master IDE", версия от 09.01.2000. 

При этом, как ни странно, на вкладке "Драйвер" свойств контроллера он датирован 05.30.2000, а в сведениях о файлах драйвера присутствуют уже 09.13.2000 и 07.07.2000. Но это не суть важно, главное то, что второй винчестер наконец-то стал виден, будучи отключенным в CMOS Setup: параметры чтения/записи и загрузки процессора на неплохом уровне, хотя, может быть, и чуть хуже, чем при работе с ранее исследованными драйверами.

А благодаря небольшому дополнительному "прибамбасу", вставшему вместе с последним драйвером - утилите "Intel Ultra ATA Compagnion" - мы теперь можем воочию убедиться, что все приводы работают в самых выгодных для них (а значит, и для нас) режимах - оба жестких диска в UDMA-2 (UDMA/33, больше "мать" не тянет), а "сидюк" - DMA-MW-1. Никакой флажок в свойствах дисков ставить не нужно - DMA уже работает, а сами диски в окне со списком устройств имеют свои истинные наименования.

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

Но вместе с материнской платой этого компьютера мне дали еще один драйвер под названием "PIIX Bus Master Driver" от фирмы Triones/HighPoint, предназначенный для использования в Windows 95 (в которой, кстати, нет своего собственного драйвера для поддержки современных быстрых дисков). К сожалению, на Windows 98 его установить не так просто - при проверке версии ОС программа установки заявляет, что драйвер разработан только для Windows 95.

Однако мне попался дистрибутив, который почему-то устанавливает все файлы драйвера в Windows 98, правда, не умеет сам изменить драйвер контроллера - его, а также драйвера первого и второго IDE-контроллеров, приходится опять-таки выбирать впоследствии вручную из списка, найдя в нем фирму HighPoint. Если вам такой дистрибутив не попадался, то можете провести эксперимент, установив вручную файлы ideatapi.inf, piixvsd.vxd и ideatapi.mpd - это и есть все файлы драйвера, упакованные в дистрибутив. Впрочем, с вашей платой могут быть и другие драйвера.

По завершении очередной установки очередных драйверов получаем очередные результаты очередных тестов - они также весьма радуют, тем более, что и этот драйвер позволяет получить полный доступ ко всем дискам, отображает их настоящие названия и задает всем приводам максимальный режим работы. По многим параметрам он даже превзошел драйвер Intel, например, чтение с кэшированием показало просто нереальные результаты - 28,8 Мб/с - видимо, проявила себя с лучшей стороны "виндовая" система Vcache, и данные читались, в основном, из памяти, а не с диска. 

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

Ну что ж, некоторое представление о том, какой драйвер наиболее приемлем для данной конкретной системы, мы получили - им стал "Intel Ultra DMA Storage Driver", который удалось поставить на устаревшее оборудование исключительно благодаря недокументированному параметру установки. Таким образом, наилучшие результаты показали "родные" драйвера от производителей "железа", а не от Microsoft. 

Поэтому и вам стоит обратить внимание на компакт-диски и дискеты, идущие в комплекте с компьютером - там наверняка должен быть драйвер от Intel, от VIA или от HighPoint. Причем на машинах, имеющих дополнительный контроллер для UDMA/66 в пару к стандартному контроллеру UDMA/33, после установки драйверов для второго контроллера он в Свойствах Системы может обозначаться даже как SCSI-устройство - все зависит от задумки программистов, в этом ничего страшного нет.

Если же с платой ничего похожего не давалось, то поищите нужный драйвер для своего чипсета, например, на сайте www.bmdrivers.com. Учтите также, что в Windows 2000 поддержку UDMA/66 можно включить только через реестр - надо записать в его раздел 
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0000]
параметр "EnableUDMA66" типа REG_DWORD со значением "1" .

Впрочем, при выборе "Intel Ultra DMA Storage Driver" возиться с реестром Windows 2000 не нужно - UDMA/66 включается автоматически.

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

Для этого надо изменять параметр "MaxFileCache", ограничивая тем самым объем оперативной памяти, отводимой под дисковое кэширование. Делается это в файле system,ini, прописыванием в раздел [Vcache] строки "MaxFileCache=ххх" (без кавычек), где ххх - максимальный размер памяти, отводимой под кэширование в килобайтах. Там же можно задать и минимальный размер дискового кэша - "MinFileCache=ххх", но это ограничит объем памяти, достающейся приложениям. Хотя, если при избытке оперативки задать одинаковыми и минимум, и максимум, то "винда" не будет биться в конвульсиях, постоянно изменяя объем кэша, что может сказаться положительно на быстродействии системы.

Для начала стоит вообще посмотреть, как изменяется размер кэша на вашем ПК без создания каких-либо ограничений. Запустим для этого утилиту VCache Monitor (www.sysinternals.com) и погоняем несколько программ. Получаем интересные результаты - "винда" стремится перенести в оперативку чуть ли не весь жесткий диск - при 96 Мб памяти объем кэша достигает 70 Мб. При запуске же приложений этот кэш ОС приходится уменьшать, даже сбрасывая его в своп-файл, что уже не лезет ни в какие ворота.

Поэтому, несмотря на то, что чем больше данных с диска перенесено в память, тем меньше обращений к винчестеру, и, соответственно - выше быстродействие, в реальных же задачах такая жадность не оправдывается, и часто выгоднее определить некий оптимальный максимум размера кэша. Для тестирования применим программы Michael's Disk Benchmark и все тот же VСache Monitor, для контроля за размером кэша. Параметры кэша будем регулировать с помощью удобной утилиты Cacheman (http://www.outertech.com/). 

Полученные результаты подтверждают наше предположение: чем больше информации с диска Windows поместит в память, тем для нее лучше. Для нее, но не для программ - при их загрузке приходится сначала эту самую память высвобождать, на что, вероятно, уходит некоторое время. Поэтому рекомендуется пойти на компромисс, жестко задав максимальный размер кэша, равный примерно 25% оперативной памяти - при этом и у программ память не будет отбираться, и кэширование почти не утратит эффективности.

В нашем случае, при установке "MaxFileCache=24576" (25% памяти), получаем почти предел производительности, хотя, если отвести под кэш еще больше памяти, то скорость работы дисков еще немного увеличится. Кстати, можно заметить, что при установке размера кэша, равного 16 384, получаем некоторый провал в графике - происходит это, видимо, потому, что 16 384 не кратно 24, так что при выборе размера кэша и за этим надо следить.

И еще один момент, на который следует обратить внимание в том случае, если у вас имеется 512 Мб "оперативки" и более. В этом случае обязательно ограничивайте размер кэша, прописав "MaxCacheFile=512000" или даже менее, иначе VCache "прихватизирует" от такой радости всю вашу память, и "винда" будет жаловаться на ее нехватку. Такой вот "глюк".

Утилита Cacheman позволяет легко увеличивать и еще один кэш - память, отводимую под пути к файлам и папкам. В Windows вы тоже можете это делать в диалоге "Панель Управления" -> "Система" -> "Быстродействие" > "Файловая Система" -> "Жесткий диск" -> "Типичная роль компьютера", но диапазон изменений здесь гораздо меньше: максимум, что вам позволено выбрать - это определить роль ПК как "Сервер", что лишь немного увеличивает этот кэш.

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

Кроме того, воспользуйтесь программой WinBoost 2001 Gold (http://www.magellass.com/) для настройки размеров кэша и параметров упреждающего чтения привода CD-ROM - их увеличение в соответствии с требованиями сегодняшнего дня также повысит общее быстродействие компьютера. Но и здесь не переборщите - программам память тоже нужна, а наилучших результатов можно добиться опять-таки при личном тестировании разных режимов.
ChunkSize

Это еще один из параметров системы Vcache. ChunkSize - это размер блока данных в памяти, отводимой под кэширование. Для данного параметра, к сожалению, невозможно выбрать явно оптимальное, идеальное для всех случаев жизни значение. Проводя же поверхностные тесты простыми программами, вообще можно не заметить его влияние на скорость работы с диском. Поэтому давайте лучше обратимся к результатам более глубоких тестов, приведенных на сайте Speed Demonz (www.rojakpot.com/Speed_Demonz.htm).

Из них видно, что, например, для игры Turok идеально будет значение ChunkSize, равное 2048, а для Half-Life - 8192, но даже при этом разница в FPS при самом худшем значении и при самом лучшем составит всего 1% и менее. Для некоторых же других программ можно выявить оптимальное значение ChunkSize, приводящее к увеличению скорости их работы на 4%, но закономерность отследить не представляется возможным - для одних программ больше подходит одно значение, для других - другое.

Лишь один вывод можно сделать основываясь на результатах тестов: ChunkSize=512 почти всегда является оптимальной величиной, при таком значении большинство программ показывает если и не максимально возможные, то очень хорошие результаты. Следовательно, для того, чтобы быстродействие системы было на высоте в большинстве случаев, надо установить Chunksize=512, что, впрочем, и сделано в Windows по умолчанию: если вы не будете явно прописывать этот параметр, то размер блока данных в кэше и так будет равен 512 байтам.

Шлейф

Многое зависит и от того, как именно подключены ваши жесткие диски и приводы CD-ROM. Два устройства на одном IDE-канале, то есть подключенные к одному и тому же шлейфу, влияют друг на друга. Причем, если на одном шлейфе сидит и достаточно медленное устройство типа CD-ROM, и быстрый винчестер, то при их одновременной работе быстродействие жесткого диска ухудшается подчас очень сильно, в чем вы также можете убедиться, проведя несложные тесты по копированию файлов с "сидюка" на "винт".

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

Мне попадалась информация даже о влиянии в некоторых ПК длины шлейфа на работу дисков ATA/66 - чем короче шлейф, тем меньше помех. Лишние перегибы и натяжения шлейфа также могут сказаться негативно на скорости передачи данных, а если и при этом контакт где-то будет ненадежным, то вы рискуете даже потерять свои данные. Ну и, разумеется, не стоит подключать диск UATA/66 40-жильным шлейфом - для этого существуют специальные 80-ти жильные шлейфы с повышенной помехозащищенностью; проверьте, такой ли вам установили при продаже ПК (если вы купили уже собранный компьютер, то это крайне маловероятно - прим. ред.).

А вот положение дисков master/slave никак не влияет на производительность, хотя, не помешает и тут более современный диск подключать как "master". Поставьте также в CMOS Setup параметр "IDE Block Mode" в положение "Enabled" - это тоже повысит эффективность работы винчестера.

Фрагментация

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

Для доказательства этого всем известного факта, о котором, впрочем, часто забывают, воспользуемся программой SiSoft Sandra - она хоть и дает сильно округленные результаты, но они весьма наглядны, а работа с этой утилитой очень проста. Проведем тест диска Seagate, дефрагментированного последний раз недели две назад, и при этом весьма активно используемого не только непосредственно ОС, но в качестве хранилища всевозможных файлов.

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

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

Когда я сам такое впервые увидел, то понял, что дефрагментатор заслуживает гораздо большего к себе уважения, тем более, что совсем не обязательно чахнуть над "виндовой" программой - Speed Disk из Norton Utilities проворачивает эту операцию раз в десять быстрее, просто не все об этом знают.

Файловая система

При работе с Windows 98 сегодня, пожалуй, выбора все-таки нет - FAT16 хоть и является самой быстрой файловой системой для "винды", но она уже давно отжила свой век, и для современных больших винчестеров нам остается только FAT32, чуть более медленная из-за большего объема всяческой служебной информации. Можно, правда, несколько сократить этот объем, если увеличить размер кластера в FAT32, тем самым немного приблизив ее по скорости к FAT16. Для этого надо отформатировать диск, задав утилите FORMAT такой параметр: "FORMAT C: /Z:8192" для создания кластеров размером 8 килобайт. Но, думаю, игра не стоит свеч - попробуйте проверить.

А вот в Windows 2000 вы уже можете выбирать из двух файловых систем: NTFS либо FAT32. Однозначного ответа на вопрос, что быстрее, тут, правда, нет: все зависит от конкретной ситуации и от конфигурации компьютера; поэтому, если вы хотите добиться наилучших результатов, то и в данном случае придется провести тесты непосредственно на оптимизируемой машине.

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

Не менее важно и грамотно разбить диск. В домашнем компьютере нежелательно отводить весь объем диска под один раздел, так как в этом случае получится банальная свалка. Оптимальным решением станет создание относительно небольшого раздела под операционную систему - порядка 2-4 Гб, в зависимости от типа "винды" - 9х или 2000. При этом перемещения головок "винта" во время работы и загрузки Windows будут минимальными - в пределах одного, относительно небольшого, раздела.

Да и фрагментироваться он будет меньше, а файлы ОС расположатся компактнее. Не обязательно, но неплохо также посвятить специальный раздел прикладным программам, следующий - играм, еще один - под файлы, загружаемые из интернета, и так далее. Отдельный логический диск можно выделить и под всевозможные временные файлы (кэш Internet Explorer, Cookies, файлы Журнала, папка TEMP и т. п.).

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

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

Но есть и иной подход к ускорению работы системы с виртуальной памятью - включить в Windows 98 старую систему управления ею, применявшуюся в Windows 95. Для этого пропишите в файле system.ini в разделе [386enh] параметр "ConservativeSwapfileUsage=1" - и обращения к свопу будут происходить не тогда, когда "винде" вздумается, а при переполнении оперативной памяти, из-за чего винчестер будет жужжать гораздо реже и тормозить систему меньше, а размер своп-файла будет стремиться к нулю. Чаще всего именно этот трюк дает самый впечатляющий эффект.

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

<< назад

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

 


Copyright © "Internet Zone"info@izcity.com
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас.