Udostępnij za pośrednictwem


Jak ntfs rezerwuje miejsce dla głównej tabeli plików (MFT)

W tym artykule opisano, jak ntfs rezerwuje miejsce dla głównej tabeli plików (MFT).

Oryginalny numer KB: 174619

Podsumowanie

System plików NTFS zawiera w swoim rdzeniu plik o nazwie tabela plików głównych (MFT). Istnieje co najmniej jeden wpis w MFT dla każdego pliku na woluminie NTFS, w tym sam MFT.

Ponieważ narzędzia, które defragmentują woluminy NTFS, nie mogą przenosić wpisów MFT, a nadmierne fragmentacja MFT może mieć wpływ na wydajność, NTFS rezerwuje miejsce dla MFT w celu utrzymania MFT tak ciągłego, jak to możliwe.

W systemie Windows narzędzie defragmentuje MFT.

Narzędzie defragmentowania

Operacja defragmentowania na MFT łączy plik MFT w 1 i uniemożliwia przechowywanie go w wielu miejscach, które nie są sekwencyjne na dysku. W tej klasie operacji plik MFT jest bardziej sekwencyjny. Jest to jednak dokładnie rozmiar pliku MFT przed operacją defragmentowania.

MFT może być zbyt duży, jeśli wolumin używany do obsługi wielu plików, które zostały usunięte. Usunięte pliki powodują otwory wewnętrzne w MFT. Te otwory są znaczącymi regionami, które nie są używane przez pliki. Nie można odzyskać tej przestrzeni. Jest to co najmniej prawdziwe na woluminie NTFS na żywo.

Więcej informacji

System plików NTFS używa wpisów MFT do definiowania plików, do których odpowiadają. Wszystkie informacje o pliku, w tym jego rozmiar, sygnatury czasowe i daty, uprawnienia i zawartość danych są przechowywane w wpisach MFT lub w przestrzeni zewnętrznej dla MFT, ale opisane przez wpisy MFT.

(Wpisy katalogu, poza MFT, również zawierają pewne nadmiarowe informacje dotyczące plików. Ale pełna dyskusja na temat wszystkich struktur systemu plików NTFS wykracza poza zakres tego artykułu.

W miarę dodawania plików do woluminu NTFS do MFT jest dodawanych więcej wpisów, co zwiększa rozmiar MFT. Gdy pliki są usuwane z woluminu NTFS, ich wpisy MFT są oznaczone jako wolne i mogą być ponownie używane, ale MFT nie zmniejsza się. W związku z tym miejsce używane przez te wpisy nie jest odzyskiwane z dysku.

Ze względu na znaczenie MFT do systemu plików NTFS i możliwy wpływ na wydajność, jeśli ten plik staje się wysoce pofragmentowany, ntfs sprawia, że specjalny wysiłek, aby zachować ten plik ciągły. NTFS rezerwuje 12,5 procent woluminu do wyłącznego użytku MFT do i chyba że pozostała część woluminu jest używana. W związku z tym miejsce dla plików i katalogów nie jest przydzielane z tej strefy MFT, dopóki wszystkie inne miejsca nie zostaną przydzielone jako pierwsze.

Uwaga 16.

Możesz zmienić klucz rejestru NtfsMFTZoneReservation , aby zwiększyć wolumin w systemie Windows. Aby uzyskać więcej informacji na temat MFT, zobacz sekcję Kluczowe elementy w procesie defragmentacji dysku w temacie Obsługa szczytowej wydajności systemu Windows 2000 poprzez defragmentację.

W zależności od średniego rozmiaru pliku i innych zmiennych zarezerwowana strefa MFT lub nieobsadzone miejsce na dysku mogą być używane przed drugim, gdy dysk wypełnia pojemność.

Woluminy z niewielką liczbą stosunkowo dużych plików wyczerpują najpierw przestrzeń zarezerwowaną, podczas gdy woluminy z dużą liczbą stosunkowo małych plików wyczerpują najpierw miejsce w strefie MFT. W obu przypadkach fragmentacja MFT zaczyna się odbywać, gdy jeden region lub drugi staną się pełne. Jeśli miejsce bez zarezerwowanego stanie się pełne, miejsce na pliki i katalogi użytkownika zaczyna być przydzielane ze strefy MFT konkurującej z MFT na potrzeby alokacji. Jeśli strefa MFT stanie się pełna, miejsce na nowe wpisy MFT zostanie przydzielone z pozostałej części dysku, ponownie konkurując z innymi plikami.

Nowy parametr rejestru może zwiększyć procent woluminu, który ntfs rezerwuje dla jego tabeli plików głównych. NtfsMftZoneReservation jest wartością REG_DWORD, która może przyjmować wartość z zakresu od 1 do 4, gdzie 1 odpowiada minimalnemu rozmiarowi strefy MFT i 4 odpowiada maksymalnej wartości. Jeśli parametr nie jest określony lub podano nieprawidłową wartość, system NTFS używa wartości domyślnej 1 dla tego parametru. Dokładne proporcje odpowiadające każdemu ustawieniu są nieudokumentowane, ponieważ nie są ustandaryzowane i mogą ulec zmianie w przyszłych wersjach. Aby dowiedzieć się, jakie ustawienie jest najlepsze dla danego środowiska, może być konieczne eksperymentowanie z różnymi wartościami.

Aby określić bieżący rozmiar MFT na komputerze z systemem Windows, wpisz dir /a $mft polecenie na woluminie NTFS.

Aby określić bieżący rozmiar MFT na komputerze z systemem Windows, użyj narzędzia Defragmentator dysków do analizy dysku NTFS, a następnie kliknij pozycję Wyświetl raport. Spowoduje to wyświetlenie statystyk dysku, w tym bieżącego rozmiaru I liczby fragmentów MFT.

Defragmentator dysku wyświetla kolor zielony dla tego, co jest nazywane plikami systemowym i na woluminie sformatowanym NTFS jest to po prostu kombinacja MFT, pagefile.sys (jeśli istnieje na tym woluminie) i co jest nazywane "strefą MFT" lub zarezerwowanym miejscem na rozszerzenie MFT. Raport defragmentacji wyświetla tylko informacje o pliku stronicowania i MFT; nie wspomina o strefie MFT, ponieważ nie ma ona żadnego wpływu na wykorzystanie dysku ani pojemność.

Strefa MFT nie jest odejmowana z dostępnego (wolnego) miejsca na dysku używanego dla plików danych użytkownika, jest to tylko miejsce, które jest używane ostatnio. Gdy MFT musi zwiększyć rozmiar, na przykład utworzono nowe pliki i katalogi, najpierw jest pobierana ze strefy MFT, zmniejszając fragmentację MFT i optymalizując wydajność MFT.

Domyślna strefa MFT jest obliczana i zarezerwowana przez Ntfs.sys podczas instalowania woluminu i zależy od rozmiaru woluminu. Strefę MFT można zwiększyć za pomocą wpisu rejestru opisanego poniżej, ale nie można zmniejszyć domyślnej strefy MFT niż ta, która jest obliczana przez Ntfs.sys. Zwiększenie strefy MFT nie zmniejsza się w żaden sposób miejsca na dysku, który może być używany przez użytkowników do plików danych.

Uwaga 16.

Wyniki zwrócone przez polecenie dir mogą nie być aktualne. Rozmiar zgłoszony przez polecenie dir może odzwierciedlać dane buforowane, które odzwierciedlają rozmiar MFT w momencie uruchomienia systemu po uporządkowanym zamknięciu.

Ważne

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonać poniższe kroki. Aby zapewnić dodatkową ochronę, utwórz kopię zapasową rejestru przed przystąpieniem do jego modyfikacji. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat sposobu tworzenia kopii zapasowych, przywracania i modyfikowania rejestru, zobacz artykuł Tworzenie kopii zapasowych i przywracanie rejestru systemu Microsoft Windows.

Aby dodać tę wartość, wykonaj następujące kroki:

  1. Uruchom Edytor rejestru (Regedt32.exe) i przejdź do następującego podklucza:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

  2. W menu Edycja kliknij pozycję Dodaj wartość.

  3. Wpisz następujące informacje w oknie dialogowym:

    • Nazwa wartości: NtfsMftZoneReservation
    • Typ danych: REG_DWORD
    • Dane: (prawidłowy zakres to 1–4)
  4. Zamknij Edytor rejestru i uruchom ponownie komputer.

Uwaga 16.

Jest to parametr czasu wykonywania i nie ma wpływu na rzeczywisty format woluminu. Zamiast tego ma to wpływ na sposób ntfs przydziela miejsce na wszystkich woluminach w danym systemie. W związku z tym, aby był całkowicie skuteczny, parametr musi obowiązywać od czasu formatowania woluminu i przez cały czas życia woluminu. Jeśli parametr rejestru zostanie skorygowany w dół lub usunięty, strefa MFT zostanie odpowiednio zmniejszona, ale nie będzie to miało żadnego wpływu na miejsce MFT już przydzielone i użyte.