Forums » Windows
Updater (possibly) _badly_ fragments media.rlb
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.
...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.
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
Ed
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.
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
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
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 ;)
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 ;)
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.
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.