|
View Full Version : Speed up HDD Access
Dehcbad25 June 27th, 2003, 23:58 PM This tip is for those of you who work with large files or HDD intensive programs. Did you know that you can optimize your file allocation size for a bit more performance? Well you can. Now, everyone knows how frustrating it can be when you're waiting for a large photoshop file to load thanks to the slow HDD, but there is a tweak for this.
For users of Win2k/XP, load up regedit (Start, Run and type regedit). Follow this path HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control -> Session Manager -> Memory Management. Inside there add the DWORD ContigFileAllocSize and and modify it's value to 512 while using decimal base. After this modification, you will have to reboot and defrag your HDD. Once everything is done, you should notice your HDD intensive apps run just a bit faster.
Conan July 28th, 2003, 15:41 PM After enabling this tweak, PerfectDisk really flies now! 12 seconds to defragment my drive! I also notice my hard drives churn less now.:D
FastGame July 28th, 2003, 16:40 PM Hmmm and just what does this tweak do, 512 is not a good file allocation size for NTFS...I'm leary, please explain....
Conan July 28th, 2003, 17:08 PM Originally posted by FastGame
Hmmm and just what does this tweak do, 512 is not a good file allocation size for NTFS...I'm leary, please explain....
Not really sure myself, just experimenting!:p
PCWriter August 4th, 2003, 06:49 AM Originally posted by Dehcbad25
This tip is for those of you who work with large files or HDD intensive programs. Did you know that you can optimize your file allocation size for a bit more performance? Well you can. Now, everyone knows how frustrating it can be when you're waiting for a large photoshop file to load thanks to the slow HDD, but there is a tweak for this.
For users of Win2k/XP, load up regedit (Start, Run and type regedit). Follow this path HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control -> Session Manager -> Memory Management. Inside there add the DWORD ContigFileAllocSize and and modify it's value to 512 while using decimal base. After this modification, you will have to reboot and defrag your HDD. Once everything is done, you should notice your HDD intensive apps run just a bit faster.
This is fine and dandy if you have a 120 GB + hard drive, otherwise you are losing a vast amount of data storage space by allocating your sectors to 512 Kb instead of 4 or 8 Kb. Figure out the math...
Thor August 4th, 2003, 13:14 PM Originally posted by Conan
After enabling this tweak, PerfectDisk really flies now! 12 seconds to defragment my drive! I also notice my hard drives churn less now.:D
Perfect Disk flies because it has far fewer sectors to go through.
Conan August 4th, 2003, 13:52 PM Originally posted by Thor
Perfect Disk flies because it has far fewer sectors to go through.
So is this a bad tweak or not? So far I have not seen any ill effects but you never know.
Thor August 4th, 2003, 14:14 PM Originally posted by Conan
So is this a bad tweak or not? So far I have not seen any ill effects but you never know.
What this all means is this.
Say you have a 17KB file and your sectors are set to 4KB. 20KB will then have to be used to store the file. 4+4+4+4+1........that last 1 will use a whole 4kb sector. Now.if you have your sectors set to 16KB then the file will take up 32KB.......16 KB in one sector and the leftover 1KB taking up another full 16KB sector.
Expand this to the 512KB sectors and you can readily see the difference. That same 17KB file will now lock up a full 512KB for storage.
Sure, things will be faster but at, IMO, a huge loss in storage space. Even with 120, 160 or better gigabyte drives you'll eat up the space quickly.
Conan August 4th, 2003, 15:21 PM Okay I'll set it back to default value then.
cash_site August 5th, 2003, 12:11 PM I think Dehc noted that you should do it if you are using lots of Big files, not so many small files, obviously less than 512kb.
I guess this would be good for Video Editing or wav recording etc, large files. And probably with emphasis on intensive file I/O.
Does anyone do this? has the tweak helped for this case?
Thor August 5th, 2003, 15:40 PM Originally posted by cash_site
I think Dehc noted that you should do it if you are using lots of Big files, not so many small files, obviously less than 512kb.
I guess this would be good for Video Editing or wav recording etc, large files. And probably with emphasis on intensive file I/O.
Does anyone do this? has the tweak helped for this case?
Your right, cash_site, but that 'fix' would still only be for a limited number of people out of the vast array of users. Not something for everyone to hop on 'willy, nilly'.
Conan August 5th, 2003, 16:05 PM Originally posted by Thor
Your right, Reverend, but that 'fix' would still only be for a limited number of people out of the vast array of users. Not something for everyone to hop on 'willy, nilly'.
Reverend?:p
Thor August 18th, 2003, 21:01 PM Been gone for a while. Sorry Reverend, I meant cash_site.
:smash:
Edited post.
tosbsas August 19th, 2003, 14:53 PM Originally posted by Conan
Okay I'll set it back to default value then.
Do you remember them ?? win2k??
Ruben
Conan August 19th, 2003, 15:05 PM Originally posted by tosbsas
Do you remember them ?? win2k??
Ruben
I just deleted the new DWORD that I created for that tweak "ContigFileAllocSize". I'm using Windows XP by the way.
tosbsas August 19th, 2003, 15:21 PM Thanks
Ruben
Berserker April 26th, 2005, 18:31 PM Some seem to misunderstand what ContigFileAllocSize apparently does ;) . It does NOT set (manipulate) cluster/sector size on the HD. That's done when the drive's partition table is set up by FDISK, altered by another low-level utility, etc.
What it apparently does is set the amount of contiguous free space Windows looks for to use for a file's data, when writing. So, if a write operation is looking to put down data into a cluster chain for a 36Mb .WAV file, and ContigFileAllocSize is set to 512, it'll look for free blocks of no smaller than 512Kb in size for that file, thus not using (ignoring) tiny 16K vacancies. Otherwise, such a large file's clusters will get honeycombed into oodles of small vacant interstices, and DEFRAG takes forever to pick up these discontiguous pieces when making the file contiguous. It takes far less time if the value is set to 512, for then there may only be 60 or so discontiguous chunks, rather than hundreds, to collect when defragging. Sure, a 16Kb file is written to the beginning clusters of a vacant 512Kb block, but the remaining 496Kb is still free for subsequent use, and if there's 16Kb or more free at its end, then there's still an at least 512Kb block free there. And, once a system's properly DEFRAGged, all the free space is contiguous anyway.
I use the value 800h (2048 decimal) to have Windows look for 2Mb free-space swaths, for I record PCM audio (.WAVs), which are HUGE files. Using a large contiguous file allocation size is much more efficient if one has lots of free space on the HD, and thus results in vastly more efficient DEFRAGs.
But if a drive's nearly full, Windows might not be able to find a block of such free contiguous size, and have problems saving file data. You might get bogus "Out of disk space" errors — not because you're out of disk space, but because Windows can't find a free swath equal to or larger than that specified by ContigFileAllocSize, which could be solved by DEFRAGging, or by saving unused HUGE files to CD/DVD, cleaning out TEMP, etc. Unless you're working with them often, such HUGE files are best saved off-system anyway.
XP's defrag makes files contiguous, but not free space. MS Help for it says that their testing showed the speed gain from making free space contiguous to be minimal. But I dual-boot 98SE and XP, so don't use NTFS (FAT 32 everywhere instead) in order to have 98SE able to access the XP installation's files. That way I can boot to 98SE and use its DEFRAG.EXE to make free space contiguous on all drives, also. With ContigFileAllocSize optimizing them, all drives DEFRAG in 10'.
cbazchin September 16th, 2005, 22:19 PM I followed the thread here. My problem is I don't understabd the edit needed. If I put in 512 I get quite a different value. How do I tell regedit that this is a decimal number?
:confused:
Dehcbad25 February 16th, 2006, 17:18 PM sorry to reply late, and I hope you already figure it out
Since I see you had problems with the decimal, I really have to suggest that you make a backup of the registry
http://support.microsoft.com/kb/322756
When you go to edit the key, in the window at the right side, the section is going to say Base, and there are 2 radial options
*Hexadecimal (which is the default)
* Decimal
Change the option to Decimal and enter the value in the Value Data field
|
|
|