Обзор служебных программPageDefrag

Лэнс Уитни (Lance Whitney)

Загрузить исходный код для этой статьи: PageDefrag (70KB)

Обычная программа дефрагментации Windows® позволяет оптимизировать основную часть файлов, находящихся на жестком диске, но некоторые из них не обрабатываются большинством программ дефрагментации. Файлы, открытые и заблокированные для монопольного доступа, такие как файл подкачки Windows и ветви реестра, обычно не обрабатываются программой-дефрагментатором, входящим в состав ОС Windows, а также программами сторонних поставщиков. Стандартные интерфейсы API Windows не поддерживают дефрагментацию тех файлов, которые находятся в использовании. К счастью, служебная программа PageDefrag, созданная Марком Русиновичем для компании Sysinternals, позволяет сэкономить много времени, дефрагментируя те файлы, которые остаются нетронутыми другими программами.

Программа PageDefrag позволяет дефрагментировать файл подкачки Windows, ветви реестра, журналы событий и файл спящего режима (область диска, в которой сохраняется содержимое памяти при переходе ноутбука в спящий режим). Программа оптимизирует эти файлы в ходе загрузки компьютера, перед началом их использования.

Чтобы запустить программу PageDefrag, достаточно дважды щелкнуть файл pagedfrg.exe. Программа отображает имена всех файлов, которые он может обработать при дефрагментации (см. рис. 1). Имя файла подкачки — pagefile.sys. Ветви реестра представлены в виде отдельных файлов на каждую ветвь — DEFAULT, SAM, SECURITY, SOFTWARE и SYSTEM. Журналы событий также отображаются в виде отдельных файлов: например, AppEvent.evt является журналом приложений, SecEvent.evt — журналом безопасности, журнал SysEvent.evt — системным журналом. И, наконец, файл спящего режима —Hiberfil.sys.

Рис. 1 Программа PageDefrag отображает имена всех файлов, которые она может обработать

Рис. 1** Программа PageDefrag отображает имена всех файлов, которые она может обработать **(Щелкните изображение, чтобы увеличить его)

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

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

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

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

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

Программу PageDefrag можно запустить неинтерактивно, с помощью командной строки или сценария, использовав ключи -e для дефрагментации по загрузке (Defrag boot), -o для однократной дефрагментации (Defrag once), -n для отказа от дефрагментации (Never Defrag) и -t для указания времени задержки в секундах (Set countdown) перед запуском программы pagedfrg.exe.

Для получения дополнительных сведений и загрузки копии программы посетите веб-страницу microsoft.com/technet/sysinternals/FileAndDisk/PageDefrag.mspx.

Лэнс Уитни (Lance Whitney) — консультант по информационным технологиям, преподаватель и разработчик технической документации. Бессчетное количество часов он проводит за настройкой рабочих станций и серверов Windows. Журналист по профессии, 15 лет назад он занялся изучением информационных технологий.

© 2008 Корпорация Майкрософт и компания CMP Media, LLC. Все права защищены; полное или частичное воспроизведение без разрешения запрещено.