![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I finally bit the bullet and converted my games FAT32 partition into an
NTFS partition (MS has made that surprisingly easy and much more surprisingly
fast). I got tired of defragging taking something like 30-40 *hours* on that
200GB partition. (Also Windows refuses to move directory entries in a FAT32
partition, which means that the partition is littered with small unmovable
clusters which make a clean defragging much more difficult.)
After the conversion I tried defragging (the partition was quite badly
fragmented) and it took a bit over an hour. That's quite a huge improvement
over the typical 30-40-hour defragging of the old FAT32 partition.
(This was not just Windows' own defrag, which is content with just
defragging individual files, regardless of where they might end up in
the disk, in other words, the files themselves end up defragmented yes,
but the disk itself still becomes completely littered with holes of random
sizes. Instead, I used MyDefrag's full defragmentation mode, which moves
all files inside a directory to be physically consecutive in the disk,
without empty space between the files, so almost every single byte in the
disk is moved at least once. In fact, if I had run this on the FAT32
partition it might have taken 30 days rather than 30 hours.)
I'm really wondering why defragmenting an NTFS partition is so much faster
than a FAT32 partition.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> I'm really wondering why defragmenting an NTFS partition is so much faster
> than a FAT32 partition.
NTFS has a journal, do you don't have to fsync() every change on every moved
block. If you crash out during an NTFS defrag, the system can recover by
simply taking a snapshot while you're working, and scanning the snapshot for
used clusters not assigned to a file. Otherwise, moving a file is just a
matter of copying the data, then stuffing the changed file structure blocks
into the journal to be rolled out at leisure.
With FAT, every time you move a file, you have to rewrite both FAT tables
and sync it out in order to insure the space is reserved before you update
the directory, and then clear out the newly-freed space in the FAT table and
sync that out again.
--
Darren New, San Diego CA, USA (PST)
I ordered stamps from Zazzle that read "Place Stamp Here".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Small piece of advice:
- To avoid fast fragmentation, redirect 'TMP' and 'TEMP' environment
variables (Windows key+Pause, Advanced options, Environment variables)
to a dedicated partition, same for 'pagefile.sys' and 'My Documents';
keep 'C:' only for Windows and programs. Acronis Disk Director for easy
re-partitioning, MS 'DiskPart' sucks so much at it and 'diskmgmt.msc' is
very rudimentary.
- IMO the best defragger is 'Raxco PerfectDisk 10', with its Boot-time
Defragmentation defraggs Windows system files and with its 'Stealth
Patrol' scheduler you can defrag in second plane while your PC/Notebook
is idle, also it has a 'Performance' Tab and an Analysis option that
gives you a very detailed and clear vision of any partition and is very
easy to use. It has a x64 version and recognizes Vista partitions. You
can't ask for more.
- You can speed up even more your HDD by disabling the 'Last Access time
stamp' that NTFS uses, unless you need it.
- Reducing the MFT Zone helps reclaim 'wasted' disk space.
I use 2 .bat files after I install Windows for the first time or when I
service a PC/Notebook for the first time to help me with the disk
performance:
ft.bat
-------
@echo off
echo -------------------------------------
fsutil behavior query mftzone
fsutil behavior query disablelastaccess
pause
echo -------------------------------------
fsutil behavior set mftzone 1
fsutil behavior set disablelastaccess 1
echo .
echo -------------------------------------
fsutil behavior query mftzone
fsutil behavior query disablelastaccess
echo -------------------------------------
pause
usn.bat
-------
@echo off
echo -------------------------------------
fsutil usn queryjournal c:
echo -------------------------------------
pause
fsutil usn createjournal m=0 a=0 c:
echo -------------------------------------
fsutil usn queryjournal c:
echo -------------------------------------
pause
I hope it helps, good luck.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Saul Luizaga <sau### [at] netscape net> wrote:
> - Reducing the MFT Zone helps reclaim 'wasted' disk space.
I thought the whole idea of a large MFT zone (which it is, by default)
is to reduce fragmentation.
It's not like the MFT zone is away from data. It's just that data is
written there only after everything else is full.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> Saul Luizaga <sau### [at] netscape net> wrote:
>> - Reducing the MFT Zone helps reclaim 'wasted' disk space.
>
> I thought the whole idea of a large MFT zone (which it is, by default)
> is to reduce fragmentation.
True, but the typical use of the MFT Zone is about 10-20% at most, in
some rare cases goes to 50%, you really need to have lots of files to
actually start filling up the MFT Zone.
>
> It's not like the MFT zone is away from data. It's just that data is
> written there only after everything else is full.
>
also true, but the MFT Zone at its default is far larger than you'll
ever need, so probably you'll never even get pass 75% of it, I'm not
saying is bad, is just a little over dimensioned and it doesn't have
much adaptability as the Page File does. But for what is worth 'fsutil
behavior set mftzone 1' command is Windows default setting and the
smallest MFT Zone possible, but some times is not set and the MFT Zone
tends to be big.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Saul Luizaga wrote:
> True, but the typical use of the MFT Zone is about 10-20% at most, in
> some rare cases goes to 50%, you really need to have lots of files to
> actually start filling up the MFT Zone.
It depends how you work, really. If you often sling lots of small files
around, it's pretty easy to get 750,000 file entries.
--
Darren New, San Diego CA, USA (PST)
I ordered stamps from Zazzle that read "Place Stamp Here".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New wrote:
> Saul Luizaga wrote:
>> True, but the typical use of the MFT Zone is about 10-20% at most, in
>> some rare cases goes to 50%, you really need to have lots of files to
>> actually start filling up the MFT Zone.
>
> It depends how you work, really. If you often sling lots of small files
> around, it's pretty easy to get 750,000 file entries.
>
Well prerty easy I don't think is the word I would use to get 750K files.
How much of your MFT uses those 750K files?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Saul Luizaga wrote:
> How much of your MFT uses those 750K files?
I don't even understand what that sentence means.
--
Darren New, San Diego CA, USA (PST)
I ordered stamps from Zazzle that read "Place Stamp Here".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New wrote:
> Saul Luizaga wrote:
>> How much of your MFT uses those 750K files?
>
> I don't even understand what that sentence means.
>
Pardon my English, still learning, let me rephrase please:
Well, pretty easy are not the words I would choose to describe getting
750,000 files.
How much of your MFT Zone is used by those 750,000 files?
If I made grammar errors please point them out so I can learn from them,
thanks.
Cheers.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Saul Luizaga wrote:
> Pardon my English, still learning, let me rephrase please:
No problem.
> Well, pretty easy are not the words I would choose to describe getting
> 750,000 files.
I often use the file system as a quick-and-easy database. :-)
> How much of your MFT Zone is used by those 750,000 files?
I don't know, offhand. I wound up using a defrag tool that didn't respect
the boundaries, so it fragmented my MFT. Unfortunately, I did this on my
boot disk, which is far more difficult to backup, reformat, and restore
file-by-file.
> If I made grammar errors please point them out so I can learn from them,
> thanks.
The confusion from
>> How much of your MFT uses those 750K files?
is that the MFT is the subject in that sentence, and the sentence implies it
is using 750K files. A better way to phrase it would be
"How much of the MFT space do the files use?"
or
"How much of the MFT space is used by the files?"
Then "files" is the subject, and the files use the MFT space, which makes
more sense.
--
Darren New, San Diego CA, USA (PST)
I ordered stamps from Zazzle that read "Place Stamp Here".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |