Как NTFS резервирует пространство для основной таблицы файлов (MFT)

Переводы статьи Переводы статьи
Код статьи: 174619 - Vizualiza?i produsele pentru care se aplic? acest articol.
Внимание! Статья содержит сведения о внесении изменений в системный реестр. Перед внесением изменений в системный реестр рекомендуется создать резервную копию системного реестра и изучить процедуру его восстановления. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в следующей статье базы знаний Майкрософт:
256986 Описание реестра Microsoft Windows
Развернуть все | Свернуть все

Аннотация

В ядре файловой системы NTFS содержится файл, который называется основной таблицей файлов (MFT). В файле MFT содержится как минимум одна запись для каждого файла тома NTFS, включая сам файл MFT.

Поскольку средства дефрагментации томов NTFS не могут перемещать записи MFT, а также из-за того, что значительная фрагментация MFT может негативно влиять на быстродействие системы, NTFS резервирует для MFT дисковое пространство, чтобы по мере увеличения размера MFT подвергался минимальной фрагментации.

Дополнительная информация

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

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

По мере появления новых файлов в томе NTFS в файл MFT добавляются новые записи, и, таким образом, размер MFT увеличивается. При удалении файлов из тома NTFS соответствующие записи в файле MFT помечаются как свободные и могут использоваться повторно, однако размер MFT при этом не сокращается. Таким образом, дисковое пространство, используемое этими записями, остается недоступным.

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

В зависимости от среднего размера файлов и других критериев при заполнении диска зарезервированная для MFT зона или незарезервированное дисковое пространство могут исчерпываться в первую очередь.

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

В пакете обновлений 4 (SP4) для Windows NT 4.0 введен новый параметр реестра, позволяющий увеличить процент тома, отведенный в NTFS для основной таблицы файлов. NtfsMftZoneReservation – параметр типа REG_DWORD, который может принимать значения от 1 до 4, где 1 соответствует минимальному размеру зоны MFT, а 4 – максимальному. Если данный параметр не задан или для него указано недопустимое значение, NTFS использует значение по умолчанию 1. Точные коэффициенты, соответствующие каждому из значений, не документированы, поскольку они не являются стандартными и могут подлежать изменению в следующих изданиях. Оптимальное для данного окружения значение определяется экспериментальным путем.

Для определения текущего размера файла MFT на компьютере под управлением Windows NT введите команду dir /a $mft для тома NTFS.

Для определения текущего размера файла MFT на компьютере под управлением Microsoft Windows 2000 выполните анализ диска NTFS с помощью средства дефрагментации диска, а затем щелкните Вывести отчет В результате будет отображена статистика диска, включая текущий размер MFT и число его фрагментов.

Версия средства дефрагментации диска для Windows 2000 отображает информацию о системных файлах, которая для тома NTFS включает файл MFT, файл pagefile.sys (если таковой имеется в данном томе) и так называемую «зону MFT», то есть зарезервированное для MFT пространство. Отчет о дефрагментации отображает только сведения о файле подкачки и MFT; в нем не содержатся сведения о зоне MFT, поскольку они никоим образом не влияют на использование или размер диска.

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

По умолчанию объем зоны MFT вычисляется в зависимости от размера тома и резервируется файлом Ntfs.sys при создании тома. Зону MFT можно увеличить с помощью указанного ниже параметра реестра, однако ее минимальный объем всегда будет соответствовать значению, установленному программой Ntfs.sys. Увеличение зоны MFT никоим образом не сказывается на объеме дискового пространства, который можно использовать для пользовательских файлов данных.

Примечание. Результаты, возвращаемые командой dir, могут не соответствовать текущим значениям. Размер, возвращаемый командой dir, может отображать кэшированные данные, соответствующие размеру MFT на момент запуска системы после нормального завершения работы.

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

Для добавления этого параметра выполните следующие действия.
  1. Запустите редактор реестра (Regedt32.exe) и перейдите к следующему подразделу:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
  2. В меню Правка выберите команду Добавить параметр.
  3. В диалоговом окне введите следующие данные:
    Параметр: NtfsMftZoneReservation
    Тип данных: REG_DWORD
    Данные: (допустимый диапазон значений: 1–4)
  4. Закройте Редактор реестра и перезапустите компьютер.
Примечание Это параметр выполнения, который не влияет на действительный формат тома. Скорее, он управляет выделением пространства для всех томов данной системы NTFS. Следовательно, для полной функциональности этот параметр должен использоваться с момента форматирования тома и на протяжении всего существования тома. При уменьшении значения или удалении этого параметра зона MFT будет сокращена соответствующим образом, однако это не повлияет на уже выделенное и использующееся пространство MFT.

Свойства

Код статьи: 174619 - Последний отзыв: 13 февраля 2006 г. - Revision: 2.1
Информация в данной статье применима к:
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Операционная система Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
Ключевые слова: 
kbhotfixserver kbqfe kbenv kbinfo KB174619

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com