NTFS 是現代 Windows 預設檔案系統,但預設行為保守,針對大量檔案、深層目錄、高 I/O 負載場景未必最優。透過註冊表調整三大關鍵值,可減少中繼資料寫入、節省磁碟空間、降低碎片,提升整體回應速度。
每次讀取檔案/目錄,NTFS 都會更新 $STANDARD_INFORMATION 屬性中的 LastAccessTime。大量檔案掃描(防毒、索引、備份)會產生大量隨機寫入,拖慢效能。
路徑:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
值名稱:NtfsDisableLastAccessUpdate
型別:REG_DWORD
值:1(啟用停用更新)
預設:0(啟用更新)
DOS/Win16 時代 8.3 檔名(如 LONGFI~1.TXT)相容性機制。現代純 64-bit 應用無需此功能,但 NTFS 仍為每個長檔名自動產生短檔名,消耗 MFT 空間、增加目錄列舉開銷。
同鍵值下:
值名稱:NtfsDisable8dot3NameCreation
型別:REG_DWORD
值:1(禁用產生)
預設:0(啟用產生)
命令列:fsutil 8dot3name query C: → State = 1 (Disabled) 表示生效。
注意:舊 16-bit 應用、部分舊版安裝程式、CMD 批次檔若仰賴短檔名可能失效,極少見。
MFT(Master File Table)儲存所有檔案中繼資料。隨檔案數增加,MFT 增長;若連續空間不足會產生碎片,降低查找效能。預設保留區僅 12.5%(值 1),大量檔案環境易不足。
同鍵值下:
值名稱:NtfsMftZoneReservation
型別:REG_DWORD
值:3 或 4(建議 4 = 50% 空間預留)
預設:1(12.5%)
| 值 | 保留空間比例 | 適用場景 |
|---|---|---|
| 1 | 12.5% | 預設,一般用途 |
| 2 | 25% | 中等檔案量 |
| 3 | 37.5% | 大量檔案(>50 萬) |
| 4 | 50% | 超大量檔案(>100 萬)、伺服器/資料盤 |
defrag /X(Win8+)或第三方整理工具優化現有 MFTregedit,導航至 HKLM\SYSTEM\CurrentControlSet\Control\FileSystemNtfsDisableLastAccessUpdate = 1NtfsDisable8dot3NameCreation = 1NtfsMftZoneReservation = 3 或 4fsutil behavior query disablelastaccess → 1fsutil 8dot3name query C: → State = 1fsutil fsinfo ntfsinfo C: 觀察 Mft Zone Start/End 範圍擴大關閉存取時間、禁用 8.3 檔名、擴大 MFT 區域,三個 REG_DWORD=1/3/4 設定,針對 NTFS 核心痛點:減寫入、省空間、防碎片。對 SSD 減少寫入放大延長壽命、對 HDD 減少磁頭尋軌提速、對大量檔案伺服器穩定效能,皆有實質助益。設定一次,長期享受。