Forums » Windows

Updater (possibly) _badly_ fragments media.rlb

Nov 03, 2007 yodaofborg link
I dont usually check stuff like files for fragmentation, usually I just defrag em, but recently, while a little low on disc space (more than 6 gig free, but less than 20% required for defrag) I noticed one file that refused to defrag (media.rlb), I solved this by copying the file, deleting the original, then moving the copy back to the VO folder. Last update I had to repeat the above after the updater installed an update, but thought nothing of it (the file was badly fragmented, <>2045 fragments). Today, before running the updater, I ran a defrag, and checked media.rlb, then I ran the updater, and rechecked media.rlb, it was back at 2045 fragments, which is a LOT for a 134MB file...

...I dunno if its just my PC, but apart from having doze on it, there is nothing wrong with it, but I just thought I'd point it out.
Nov 07, 2007 blacknet link
which is why defrag of data files on ntfs is quite pointless. however pagefrag from www.sysinterals.com does the core window files for performance. that's the best way to do a defrag.

Ed
Nov 08, 2007 yodaofborg link
The Windows defragmenter does a fine job of doing ALL the files, it just does not defragment free space. ALl I need to do its boot from a CD to do it :P The point is, even AFTER MOVING the file, the VO updater frags is, litterally.
Nov 08, 2007 raybondo link
If the freespace is not defragmented, there's no way to guarantee that the OS will choose to use the largest free space vs. the first available free space. The updater does not reserve one huge file. It creates a new file and appends on the new data and then deletes the old file when it is done. The OS doesn't know how big the file will be so it could choose a tiny free area and then the next tiny free area, etc...

I'll look into a way to allocate a single huge file atomically so the OS will choose contiguous free space instead. I don't know if windows has that option, though.

I just found this bit of info on file fragmentation. Granted, it is written by a company that makes a defragger but still explains some things.
http://files.diskeeper.com/pdf/HowFileFragmentationOccursonWindowsXP.pdf
Nov 09, 2007 yodaofborg link
Pre-allocating files can't be that hard in Windows, as both Emule-project and uTorrent can do it! I do think thats probably the solution, and _probably_ its whats happening, and I know I could buy a 3rd party application to take care of the free space also, but I really shouldn't have to.

VO is the only application I run that updates in this way, usually patching does not replace a file that large (usually several smaller files), or it edits a file. I often had this issue with peer to peer apps, before I begged for pre-allocated files also ;)
May 09, 2008 yodaofborg link
I hate to double post but I have to, it seems Windows XP SP3 fixes this issue >.>

Seems it pre-allocates when a large file is created/modified by default. Or something, but Microsoft actually fixed something!

Seems it still happens in Vista SP1 though, heh.