Для того чтобы освоить тонкости фрагментации и дефрагментации, прежде всего следует ознакомиться со встроенным инструментом дефрагментации Windows 2000 — Disk Defragmenter (сокращенной версией продукта Diskeeper компании Executive Software). Используя интерфейс API Windows 2000, Disk Defragmenter собирает в единое целое сегменты фрагментированных файлов и воссоздает файлы, записывая их в смежные кластеры диска. Зная, когда нужно выполнять дефрагментацию и как это лучше сделать, можно заметно повысить эффективность Disk Defragmenter.

Обычно фрагментация диска проявляется после того, как заполняется более половины дискового пространства. В этих условиях новые файлы, записываемые на диск, занимают место удаленных файлов. Часто свободного пространства бывает недостаточно, чтобы уместить новый файл целиком, поэтому файл сохраняется по частям (т. е. фрагментируется). Чем больше на диске содержится фрагментированных файлов, тем медленнее компьютер выполняет операции ввода/вывода. Некоторые специалисты полагают, что значительная фрагментация диска повышает риск образования потерянных кластеров и сегментов файлов (особенно в случае незапланированного отключения системы).

Что он может

Disk Defragmenter работает с обеими файловыми системами — FAT и NTFS (считается, что диски NTFS не нуждаются в дефрагментации, однако это не так). В процессе дефрагментации программа работает рука об руку с API Windows 2000. Disk Defragmenter ищет фрагменты файла и подгружает их в память, а затем записывает данные в ту часть диска, в которой достаточно свободного пространства для размещения всех фрагментов. Windows 2000 запоминает новое расположение файла и записывает координаты в таблицу FAT, если используется система FAT, или в таблицу Master File Table (MFT) в системе NTFS.

Disk Defragmenter не производит дефрагментацию FAT, MFT, файла подкачки, файла сохранения состояния системы (если компьютер использует такой файл) и реестра. Кроме того, встроенный дефрагментатор работает только с локальным диском. Поэтому если требуется выполнить дефрагментацию удаленных дисков, системных файлов или задать дефрагментацию на нескольких машинах по расписанию, придется приобрести дополнительную программу (однако несколько обходных путей для дефрагментации файла подкачки и создания заданий по дефрагментации все же существует, см. врезку «Обходными путями»). Среди программ дефрагментации можно выделить три наиболее эффективные: уже упоминавшийся Diskeeper, Speed Disk от Semantec и PerfectDisk 2000 компании Raxco Software.

Нужна ли дефрагментация?

Я рекомендую запускать Disk Defragmenter сразу после инсталляции операционной системы и перед установкой любого программного обеспечения. И еще, всякий раз, когда с диска удаляется большое количество файлов, особенно во время удаления программного обеспечения с помощью встроенной процедуры, нужно выполнять дефрагментацию немедленно.

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

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

Не стоит выполнять дефрагментацию на серверах, где установлены Microsoft Exchange Server, Microsoft SQL Server или постоянно работающие приложения семейства Microsoft Back-Office. Эти программы всегда имеют открытые файлы (файлы транзакций), теребить которые не следует. Поскольку Disk Defragmenter не может работать с открытыми файлами, для дефрагментации сервера придется останавливать службы. Вместо дефрагментации лучше воспользоваться внутренними инструментами этих приложений, предназначенными для очистки и сжатия файлов (обычно такие средства восстанавливают индексы и помогают избавиться от образовавшихся в результате удаления информации дыр). Кстати, то, что дефрагментация не распространяется на корпоративные бизнес-приложения, подтверждает необходимость работы таких приложений на выделенном сервере.

Переходим к делу

Для запуска программы Disk Defragmenter нужно выбрать Start, Programs, Accessories, System Tools, Disk Defragmenter. Главное окно (см. Экран 1) содержит информацию об объемах дискового пространства на дисках данного компьютера. Можно щелкнуть Defragment и сразу запустить процесс дефрагментации, но лучше сначала проанализировать состояние диска и понять, насколько это необходимо, так как процесс дефрагментации может занять уйму времени, особенно для больших дисков с множеством файлов. Для запуска анализатора нужно выбрать диск, который требуется проверить, и нажать Analyze.

Экран 1. Интерфейс Disk Defragmenter.

Если дефрагментация не нужна, система выдаст соответствующее сообщение. Нажав View Report, можно просмотреть отчет о проведенном анализе, содержащий список файлов с подробной информацией о фрагментации (см. Экран 2). Даже если программа сочла дефрагментацию ненужной, можно щелкнуть Defragment (в окне сообщений или в окне отчета), и все-таки выполнить ее. Это стоит сделать, если планируете инсталлировать большое по объему программное обеспечение (дефрагментацию диска всегда следует выполнять в том случае, если предстоит установить Exchange Server SQL Server или какое-либо другое громоздкое приложение). Если Disk Defragmenter обнаружит, что выполнение дефрагментации оправдано, об этом пользователь тоже узнает из сообщения на экране. Далее следует выполнить те же шаги — либо просмотреть отчет, либо запустить дефрагментатор.

Экран 2. Отчет с анализом фрагментации.

Независимо от того, проводился анализ состояния диска или нет, при нажатии кнопки Defragment система снова запустит программу анализа (анализ диска всегда производится непосредственно перед началом дефрагментации). Процесс дефрагментации сопровождается выводом в главное окно цветного индикатора процесса (см. Экран 3).

Экран 3. Ход процесса дефрагментации.

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

Когда дефрагментация завершится, на экране появится соответствующее сообщение. Чтобы просмотреть отчет о новом состоянии, нужно щелкнуть View Report.

Оптимизация

В некоторых случаях процесс дефрагментации не приводит к желаемому результату из-за того, что компьютеру не хватает свободного пространства для преобразования фрагментов в единый файл. Вместо этого лишь уменьшается число фрагментов (например, может оказаться, что после прогона программы Disk Defragmenter файл, первоначально разбитый на 25 частей, будет состоять всего из 8).

Хотя повторный запуск Disk Defragmenter часто дает нужный эффект, для достижения наилучшего результата можно перед первой процедурой дефрагментации очистить максимальное количество дискового пространства. Во время подготовки к дефрагментации следует провести своего рода ревизию и удалить ненужные и неиспользуемые файлы, особенно временные. Иногда стоит на время переместить файлы на другой диск, обычно на другом компьютере в сети (если тот компьютер, который подвергается дефрагментации, имеет только один диск). После выполнения дефрагментации исходного диска нужно переместить файлы обратно. Скорее всего, они будут сохранены в связном виде.

Чтобы иметь достаточно места для хранения временных файлов, обмена файлов и сохранения их связными, я рекомендую оставлять свободным по крайней мере 30% дискового пространства. Для NTFS вычисление свободного дискового пространства имеет некоторые особенности. Файловая система NTFS резервирует одну восьмую часть диска под область, называемую зоной MFT, доступную этой таблице. Поскольку MFT редко использует эту область полностью, может сложиться впечатление, что она свободна, однако Disk Defragmenter не имеет к ней доступа. При расчете свободного пространства для системы NTFS из окна Windows Explorer или My Computer следует учитывать наличие зоны MFT и для получения более точного значения вычесть из показываемого объема примерно 12%.

Необходимо определить, какие машины в большей степени требуют дефрагментации, и выполнять ее регулярно, что позволит заметно повысить качество работы Windows 2000. Несмотря на все ограничения в работе встроенной программы Disk Defragmenter, польза от ее применения вполне очевидна.

Кэти Ивенс - редактор Windows 2000 Magazine. Является соавтором более 40 книг по компьютерной тематике, включая «Windows 2000: The Complete Reference» (Osborne/McGraw-Hill). С ней можно связаться по адресу: kivens@win2000mag.com.


Обходными путями

Программу Disk Defragmenter нельзя настроить на автоматический запуск по расписанию, поскольку ее исполняемый файл (dfrgntfs.exe) не запускается из командной строки. Тем не менее при знакомстве с Visual Basic в Windows 2000 можно написать запускающую приложение программу, а затем включать ее по расписанию с помощью планировщика заданий Task Scheduler. Windows .NET Server и Windows XP — ранее известные под названием Whistler — будут содержать программу defrag.exe, запускаемую из командной строки. Эта программа является версией Disk Defragmenter для командной строки, и ее можно будет включать в задание для автоматического запуска по расписанию при помощи Task Scheduler.

Когда файл подкачки какого-либо компьютера фрагментирован, качество работы системы заметно ухудшается, но, к сожалению, с помощью Disk Defragmenter данный файл дефрагментировать не удастся. Однако если на компьютере имеется второй диск с большим количеством свободного пространства, можно поступить следующим образом. Допустим, файл подкачки размещен на диске C, а на диске D — много свободного места. Нужно дефрагментировать диск C и создать файл подкачки на диске D. Затем следует сделать размер файла подкачки на диске C равным нулю (тем самым физически удалив файл), перезагрузить машину и создать новый файл подкачки на диске C. Установив размер файла подкачки на диске D равным нулю, снова перезагрузите машину. Поскольку диск С был дефрагментирован, на нем должно хватить непрерывного свободного пространства для создания единого файла подкачки.

назад