I've been having this problem ever since I installed Debian GNU/Linux with my hard drives. Every time I transfer file between partition (or between hds), which is quite often, I get this huge lag and the computer becomes unusable during the transfer.
So I started searching these forums for a solution. I came accross this thread:
http://www.linuxquestions.org/questi...threadid=75181 which suggested I should run the following command:
Code:
hdparm -c 1 -d 1 -k 1 /dev/hdx
Which I did. And it even showed some results, although they were not acceptable yet. Here's what I've got so far:
120GB Western Digital ATA100 8MB buffer 7,2k rpm. It's about 1 years old, perhaps a little more.
Before "hdparm -c 1 -d 1 -k 1 /dev/hda":
Code:
[14:59 root@atheisticfaith anti]# hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 10 MB in 3.50 seconds = 2.86 MB/sec
While issuing the "hdparm -c 1 -d 1 -k 1 /dev/hda" command I got this output:
Code:
[14:59 root@atheisticfaith anti]# hdparm -c 1 -d 1 -k 1 /dev/hda
/dev/hda:
setting 32-bit IO_support flag to 1
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
setting keep_settings to 1 (on)
IO_support = 1 (32-bit)
using_dma = 0 (off)
keepsettings = 1 (on)
This is not too cool, right? What can I do to fix this?
And after this command, I got almost double the results, even though it didn't work completely:
Code:
[15:03 root@atheisticfaith anti]# hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 18 MB in 3.26 seconds = 5.53 MB/sec
I understand this is still not acceptable for an ide hd. Here's the specifications from "hdparm -i /dev/hda":
Code:
[17:49 root@atheisticfaith anti]# hdparm -i /dev/hda
/dev/hda:
Model=WDC WD1200JB-00CRA1, FwRev=17.07W17, SerialNo=WD-WMA8C2949898
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=234441648
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled
Drive conforms to: device does not report version:
* signifies the current active mode
Here are the results from my other hd. A 40GB ATA100 hd before "hdparm -c 1 -d 1 -k 1 /dev/hdb" command:
Code:
[15:07 root@atheisticfaith anti]# hdparm -t /dev/hdb
After:
/dev/hdb:
Timing buffered disk reads: 10 MB in 3.12 seconds = 3.20 MB/sec
And as I try to run "hdparm -c 1 -d 1 -k 1 /dev/hdb" I still get exactly the same error. But the results are still far better (although not yet acceptable):
Code:
[15:13 root@atheisticfaith anti]# hdparm -t /dev/hdb
/dev/hdb:
Timing buffered disk reads: 16 MB in 3.07 seconds = 5.22 MB/sec
Here's the "hdparm -i /dev/hdb":
Code:
[18:43 root@atheisticfaith anti]# hdparm -i /dev/hdb
/dev/hdb:
Model=WDC WD400BB-00AUA1, FwRev=18.20D18, SerialNo=WD-WMA6R2567113
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled
Drive conforms to: device does not report version:
* signifies the current active mode
This tells us that both of the disks are capable of dma but still won't let it run. Any help, suggestions or comments will be greatly appreciated. I'm not sure what other information to include, so just tell me if there's any information you think might help with the solution of this and I'll post it here.