So reserviert NTFS Speicherplatz für die Masterdateitabelle (Master File Table, MFT)
In diesem Artikel wird beschrieben, wie NTFS Speicherplatz für die Masterdateitabelle (Master File Table, MFT) reserviert.
Ursprüngliche KB-Nummer: 174619
Übersicht
Das NTFS-Dateisystem enthält im Kern eine Datei, die als Masterdateitabelle (Master File Table, MFT) bezeichnet wird. Es gibt mindestens einen Eintrag in der MFT für jede Datei auf einem NTFS-Volume, einschließlich der MFT selbst.
Da Dienstprogramme, die NTFS-Volumes defragmentieren, MFT-Einträge nicht verschieben können, und weil sich eine übermäßige Fragmentierung der MFT auf die Leistung auswirken kann, reserviert NTFS Speicherplatz für den MFT in einem Bemühen, die MFT so zusammenhängend wie möglich zu halten, wie es wächst.
In Windows defragt das Defragmentierungsprogramm die MFT.
Das Defragment-Dienstprogramm
Ein Defragmentierungsvorgang auf dem MFT kombiniert eine MFT-Datei in 1 und verhindert, dass sie an mehreren Stellen gespeichert wird, die nicht sequenziell auf dem Datenträger sind. In dieser Vorgangsklasse ist die MFT-Datei sequenzieller. Es ist jedoch genau die Größe, die die MFT-Datei vor dem Defragmentierungsvorgang war.
Ein MFT kann zu groß sein, wenn ein Volume über viele Dateien verfügt, die gelöscht wurden. Die gelöschten Dateien verursachen interne Löcher im MFT. Diese Löcher sind wichtige Bereiche, die von Dateien nicht verwendet werden. Es ist unmöglich, diesen Raum zurückzufordern. Dies gilt zumindest für ein NTFS-Livevolume.
Weitere Informationen
NTFS verwendet MFT-Einträge, um die Dateien zu definieren, denen sie entsprechen. Alle Informationen zu einer Datei, einschließlich größe, Zeit- und Datumsstempel, Berechtigungen und Dateninhalten, werden entweder in MFT-Einträgen oder im Bereich außerhalb des MFT gespeichert, aber von den MFT-Einträgen beschrieben.
(Verzeichniseinträge, außerhalb des MFT, enthalten auch einige redundante Informationen zu Dateien. Aber eine vollständige Diskussion über alle Strukturen auf NTFS liegt außerhalb des Umfangs dieses Artikels.)
Wenn Dateien einem NTFS-Volume hinzugefügt werden, werden dem MFT weitere Einträge hinzugefügt, sodass die MFT größer wird. Wenn Dateien aus einem NTFS-Volume gelöscht werden, werden ihre MFT-Einträge als frei gekennzeichnet und möglicherweise wiederverwendet, aber die MFT wird nicht verkleinern. Daher wird der von diesen Einträgen verwendete Speicherplatz nicht vom Datenträger zurückgefordert.
Aufgrund der Bedeutung der MFT für NTFS und der möglichen Auswirkungen auf die Leistung, wenn diese Datei stark fragmentiert wird, versucht NTFS, diese Datei zusammenhängend zu halten. NTFS reserviert 12,5 Prozent des Volumens für die ausschließliche Nutzung des MFT bis und es sei denn, der Rest des Volumes wird verwendet. Der Speicherplatz für Dateien und Verzeichnisse wird daher erst aus dieser MFT-Zone zugewiesen, wenn zuerst alle anderen Leerzeichen zugewiesen werden.
Notiz
Sie können den NtfsMFTZoneReservation-Registrierungsschlüssel ändern, um das Volume in Windows zu erhöhen. Weitere Informationen zum MFT finden Sie im Abschnitt "Schlüsselelemente" im Abschnitt "Datenträgerentfragmentierungsprozess " zur Aufrechterhaltung der Spitzenleistung durch Defragmentierung von Windows 2000.
Abhängig von der durchschnittlichen Dateigröße und anderen Variablen kann entweder die reservierte MFT-Zone oder der nicht reservierte Speicherplatz auf dem Datenträger verwendet werden, bevor der andere platzt, wenn der Datenträger die Kapazität ausfüllt.
Volumes mit einer kleinen Anzahl relativ großer Dateien erschöpfen zuerst den nicht reservierten Speicherplatz, während Volumes mit einer großen Anzahl relativ kleiner Dateien zuerst den MFT-Zonenraum ausschöpfen. In beiden Fällen beginnt die Fragmentierung der MFT, wenn eine Region oder die andere vollständig wird. Wenn der nicht reservierte Speicherplatz voll wird, beginnt der Speicherplatz für Benutzerdateien und Verzeichnisse aus der MFT-Zone zuzuordnen, die mit dem MFT für die Zuordnung konkurrieren. Wenn die MFT-Zone voll wird, wird Speicherplatz für neue MFT-Einträge vom Rest des Datenträgers zugewiesen, wobei sie erneut mit anderen Dateien konkurrieren.
Ein neuer Registrierungsparameter kann den Prozentsatz eines Volumes erhöhen, das NTFS für die Masterdateitabelle reserviert. NtfsMftZoneReservation ist ein REG_DWORD Wert, der einen Wert zwischen 1 und 4 annehmen kann, wobei 1 der minimalen MFT-Zonengröße entspricht und 4 dem Maximum entspricht. Wenn der Parameter nicht angegeben oder ein ungültiger Wert angegeben wird, verwendet NTFS für diesen Parameter einen Standardwert von 1. Die genauen Verhältnisse, die den einzelnen Einstellungen entsprechen, sind nicht dokumentiert, da sie nicht standardisiert sind und sich in zukünftigen Versionen ändern können. Um zu wissen, welche Einstellung für Ihre Umgebung am besten geeignet ist, kann es notwendig sein, mit verschiedenen Werten zu experimentieren.
Um die aktuelle Größe des MFT auf einem Windows-Computer zu ermitteln, geben Sie den dir /a $mft
Befehl auf einem NTFS-Volume ein.
Um die aktuelle Größe des MFT auf einem Windows-Computer zu ermitteln, verwenden Sie die Datenträgerdefragmentierung, um das NTFS-Laufwerk zu analysieren, und klicken Sie dann auf " Bericht anzeigen". Dadurch werden die Laufwerksstatistiken angezeigt, einschließlich der aktuellen MFT-Größe und der Anzahl von Fragmenten.
Der Datenträgerdefragmenter zeigt grün für die so genannten Systemdateien und auf einem NTFS-formatierten Volume dies einfach die Kombination von MFT, pagefile.sys (sofern vorhanden auf diesem Volume) und was als "MFT Zone" oder reservierten Speicherplatz für die MFT-Erweiterung bezeichnet wird. Der Defragmentierungsbericht zeigt nur Informationen über die Seitendatei und MFT an; die MFT-Zone wird nicht erwähnt, da sie keine Auswirkungen auf die Datenträgerauslastung oder Kapazität hat.
Die MFT Zone wird nicht vom verfügbaren (freien) Speicherplatz subtrahiert, der für Benutzerdatendateien verwendet wird, es ist nur Speicherplatz, der zuletzt verwendet wird. Wenn die MFT beispielsweise die Größe erhöhen muss, haben Sie neue Dateien und Verzeichnisse erstellt, wird sie zuerst aus der MFT Zone übernommen, wodurch die MFT-Fragmentierung verringert und die MFT-Leistung optimiert wird.
Die Standard-MFT-Zone wird durch Ntfs.sys berechnet und reserviert, wenn es das Volume angibt, und basiert auf der Volumegröße. Sie können die MFT-Zone mithilfe des unten dokumentierten Registrierungseintrags erhöhen, aber Sie können die Standardmäßige MFT-Zone nicht kleiner machen als das, was durch Ntfs.sys berechnet wird. Durch das Erhöhen der MFT-Zone wird kein Speicherplatz verringert, der von Benutzern für Datendateien verwendet werden kann.
Notiz
Die vom Dir-Befehl zurückgegebenen Ergebnisse sind möglicherweise nicht aktuell. Die vom Befehl "Dir" gemeldete Größe kann zwischengespeicherte Daten widerspiegeln, die die Größe des MFT zum Zeitpunkt der Ausführung des Systems nach einem geordneten Herunterfahren widerspiegeln.
Wichtig
Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter: Sichern und Wiederherstellen der Registrierung Windows.
Führen Sie die folgenden Schritte aus, um diesen Wert hinzuzufügen:
Führen Sie den Registrierungs-Editor (Regedt32.exe) aus, und wechseln Sie zum folgenden Unterschlüssel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
Klicken Sie im Menü "Bearbeiten " auf "Wert hinzufügen".
Geben Sie die folgenden Informationen in das Dialogfeld ein:
- Wertname: NtfsMftZoneReservation
- Datentyp: REG_DWORD
- Daten: (gültiger Bereich ist 1-4)
Beenden Sie den Registrierungs-Editor, und starten Sie Den Computer neu.
Notiz
Dies ist ein Laufzeitparameter und wirkt sich nicht auf das tatsächliche Format eines Volumes aus. Stattdessen wirkt es sich auf die Art und Weise aus, wie NTFS Speicherplatz auf allen Volumes eines bestimmten Systems zuordnet. Damit der Parameter vollständig effektiv ist, muss der Parameter ab dem Zeitpunkt wirksam sein, zu dem ein Volume formatiert und während der gesamten Lebensdauer des Volumes formatiert ist. Wenn der Registrierungsparameter nach unten angepasst oder entfernt wird, wird die MFT-Zone entsprechend reduziert, dies hat jedoch keine Auswirkungen auf den bereits zugewiesenen und verwendeten MFT-Speicherplatz.