Helping people with computers... one answer at a time.
The Master File Table is used by the NTFS file system to track how files are laid out on disk. The layout of the MFT itself can impact performance.
I've heard that in NTFS there are some master tables whose size can be changed to handle large numbers of files better. I generate lots of files. How do I increase these table(s) and when?
•
You're thinking of the MFT or Master File Table. By default 12.5% of your hard disk space is set aside for the MFT when an NTFS drive is formatted.
•
If the system later needs to make the MFT larger, it will. The problem is fragmentation. Chances are very high that if the MFT grows, then it will be fragmented. Apparently it's also common that if you converted a drive from FAT to NTFS, the MFT is may be fragmented from the start. Unfortunately the defragger that is part of the operating system cannot defrag the MFT.
So is 12.5% enough? If not, how much is enough? Microsoft, in their support article How NTFS Reserves Space for its Master File Table (MFT) doesn't give any guidelines, and suggests experimenting to determine the optimal setting for your system.
But I'll make a wild approximation.
Your MFT needs are primarily a function of the number of files you'll generate and the size of your NTFS partition. MFT entries range in size from 1 to 4k, so if we assume the 4k maximum then that 12.5% on a 60 gigabyte drive can hold entries for just under 2 million files.
There is a registry setting that can be changed such that all future reformats of NTFS drives will set aside more MFT space. The instructions for changing that setting are included in the Microsoft support article I referenced above.
By the way, if 12.5% seems like a lot of space to be dedicating to the MFT, it may not be as bad as you think. Small files, I'm guessing 2k or less in size (it varies), actually reside within their MFT entry. It's only larger files that need any space outside the MFT.
So the bottom line: if you can, FORMAT, don't convert, your drives to NTFS, and if you think you'll need a larger MFT, change the registry setting before you format. If it's too late, then there is one commercial program, Diskeeper from Executive Software, that can defrag your MFT.
In addition to the Microsoft Support article I referenced above, the following resources may also be helpfull:
Article C1829 - August 12, 2003
I copied the contents of a drive to another so that I could format the first drive and now that I've done so and moved everything back, I've found that I have a large 4 gb (my size choice) MFT on both drives. How do I get rid of the one I don't want?
Posted by: GSellars at September 8, 2005 4:02 AMactually I am wondering if there is any 'rule of thumb' for creating a larger MFT or determining if the default size is enough. I am working with a 4 terabyte raid volume that is currently 2,350 GB in use. The XP defragger reports a total MFT size of 304 MB with 311,559 record count.
Posted by: David at October 9, 2005 8:15 PMTotal files is 303,575 with average size of 8MB. The article appears to refer to more general drive space requirements for smaller drives (60 gigs). I have larger space requirements due to the specific applications in use and the data required.
Good article, saved my bacon!
Posted by: LaoziSailor at December 3, 2008 4:35 PMThe reference to Diskeeper was invaluable -- I don't like to manually intervene in the registry.
Cheers!
OK, only one thing I would add - the disk defragmenter provided in the system can defragment the MFT in later versions of NT4.0 and XP and later - this is in the Microsoft article referenced.
Posted by: Shane at February 3, 2010 12:39 PMThe article is interesting. You make no mention that Ultimate Defragger by Disktrix is capable of changing the MFT file and moving it. It can do the same with all of the other system files.
Posted by: Gwill Jones at December 10, 2011 4:39 AMHiberfil.sys on laptops is best moved out of the way to the middle of the disk.