Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

6.12. Tuning IDE Hard Disk Performance

Putting your swap partitions near the beginning of your drive, see This chart to get a better idea, may give you some acceptable improvement. The beginning of the drive is physically located on the outer portion of the cylinder, and the read/write head can cover much more ground per revolution. We typically see partitions placed at the end of the drive work 3MB/s slower using the hdparm -t command.

Performance increases have been reported on massive disk I/O operations by setting the IDE drivers to use DMA, 32-bit transfers and multiple sector modes. The kernel seems to use more conservative settings unless told otherwise. The magic command to change the setting of your drive is hdparm. To enable 32-bit I/O over the PCI buses, use the command:
             [root@deep] /# /sbin/hdparm -c1 /dev/hda or hdb, hdc etc.
             
This will usually, depending on your IDE Disk Drive model, cut the timing buffered disk reads time by 2. The hdparm(8) manpage says that you may need to use -c 3 for some chipsets. All (E)IDE drives still have only a 16-bit connection over the ribbon cable from the interface card. To enable DMA, use the command:
             [root@deep] /# /sbin/hdparm -d1 /dev/hda or hdb, hdc etc.
             
This may depend on support for your motherboard chipset being compiled into your kernel. Also, this command will enable DMA support for your hard drive, it will cut the timing buffered disk reads time and will improve the performance by 2. To enable multiword DMA mode 2 transfers, use the command:
             [root@deep] /#/sbin/hdparm -d1 -X34 /dev/hda or hdb, hdc etc.
             
This sets the IDE transfer mode for newer (E)IDE/ATA2 drives. check your hardware manual to see if you have it. To enable UltraDMA mode2 transfers, use the command:
             [root@deep] /# /sbin/hdparm -d1 -X66 /dev/hda or hdb, hdc etc.
             

You'll need to prepare the chipset for UltraDMA beforehand. Also, see your manual page about hdparm for more information. Use this with extreme caution! To set multiple sector mode I/O, use the command:
             [root@deep] /#/sbin/hdparm -m XX /dev/hda or hdb, hdc etc.
             
Where XX is the maximum setting supported by your drive. The -i flag can be used to find the maximum setting supported by an installed drive: look for MaxMultSect in the output.
             [root@deep] /#/sbin/hdparm -i /dev/hda or hdb, hdc etc.
             


             /dev/hda:
             Model=Maxtor 7540 AV, FwRev=GA7X4647, SerialNo=L1007YZS
             Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>5Mbs FmtGapReq }
             RawCHS=1046/16/63, TrkSize=0, SectSize=0, ECCbytes=11
             BuffType=3(DualPortCache), BuffSize=32kB, MaxMultSect=8, MultSect=8
             DblWordIO=yes, maxPIO=2(fast), DMA=yes, maxDMA=1(medium)
             CurCHS=523/32/63, CurSects=379584528, LBA=yes, LBA=yes, LBAsects=1054368
             tDMA={min:150,rec:150}, DMA modes: sword0 sword1 *sword2 *mword0
             IORDY=on/off, tPIO={min:240,w/IORDY:180}, PIO modes: mode3
             
             
             

Multiple sector mode aka IDE Block Mode, is a feature of most modern IDE hard drives, permitting the transfer of multiple sectors per I/O interrupt, rather than the usual one sector per interrupt. When this feature is enabled, it typically reduces operating system overhead for disk I/O by 30-50%. On many systems it also provides increased data throughput of anywhere from 5% to 50%. You can test the results of your changes by running hdparm in performance test mode:
             [root@deep] /#/sbin/hdparm -t /dev/hda or hdb, hdc etc.
             

Tip: Once you have a set of hdparm options, you can put the commands in your /etc/rc.d/rc.local file to run it every time you reboot the machine.

 
 
  Published under the terms of the Open Publication License Design by Interspire