Laptops :: Poor dd Performance
Guys,
Need a little help with this one. Have a Dell D600 laptop with 2 40GB disk drives (1 internal, 1 in modular bay). I boot DSL via a USB stick and then use dd to copy the entire primary drive to the modular drive. Why? I travel a lot and cannot afford the downtime to reinstall / configure anything.
Problem is that performance of the copy via dd is unacceptably poor. It now takes around 10 hours to copy hda to hdc. I have experimented with changing block sizes and also booting DSL to RAM, but no notable improvement. Here is a little further information.
Maybe someone has had something similar to this. 15 years ago I was a UNIX admin, but in the meantime I have forgotten a hell of a lot.
root@0[cdrom]# uname -a
Linux box 2.4.26 #1 SMP Sa Apr 17 19:33:42 CEST 2004 i686 unknown
root@0[cdrom]# lscpi
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #1 (rev 01)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #2 (rev 01)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB (ICH4) USB UHCI #3 (rev 01)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB (ICH4) USB2 EHCI Controller (rev 01)
0000:00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 81)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio Controller (rev 01)
0000:00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02)
0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet (rev 01)
0000:02:01.0 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)
0000:02:01.1 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)
0000:02:03.0 Network controller: Broadcom Corporation BCM94306 802.11g (rev 03)
root@0[cdrom]# hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 1532 MB in 2.00 seconds = 766.00 MB/sec
Timing buffered disk reads: 8 MB in 3.08 seconds = 2.60 MB/sec
root@0[cdrom]# hdparm -tT /dev/hdc
/dev/hdc:
Timing buffer-cache reads: 1528 MB in 2.00 seconds = 764.00 MB/sec
Timing buffered disk reads: 8 MB in 3.07 seconds = 2.61 MB/sec
root@0[cdrom]# time dd if=/dev/hda of=/dev/null bs=512 count=1953126
1953126+0 records in
1953126+0 records out
real 5m28.150s
user 0m0.690s
sys 4m4.080s
root@0[cdrom]# time dd if=/dev/hdc of=/dev/null bs=512 count=1953126
1953126+0 records in
1953126+0 records out
real 5m28.150s
user 0m0.690s
sys 4m4.080s
On my embedded DSL 1.4 /bin/dd is a link to /bin/busybox. Busybox is a nice program to work as multiple programs and save diskspace, but there is a downside. Not every thing works as normal. Command ps doesn't need -ef to show everything. And other commands might work differently.
You could try to download gnu-utils.dsl (I think it is called this) and get the "real" dd. Maybe that works better.
HTH.,
Remco
Remco,
Thanks for the tip. I have the same link to busybox so I'll try to get the real dd and let you know how it works out.
John
Is dma turned on for your drives?
hdparm -d /dev/hda
should tell you
hdparm -d 1 /dev/hda
should turn it on for most drives if it isn't on already. If it is a really old PC you may have to specify the mode with -X at the same time (read the man page for more details). I think you can enable dma with the cheatcode dma as well.
more info at wiki about hdparm too that could possibly speed things up for you:
http://damnsmalllinux.org/wiki/index.php/Hdparm%2C_using
Next Page...
original here.