I tried it in VM on VirtualBox. Here is my output : $ dd if=/dev/rwd0c of=/dev/null bs=1m count=10 10+0 records in 10+0 records out 10485760 bytes transferred in 0.403 secs (25985597 bytes/sec) $
$ dd if=/dev/rwd0c of=/dev/null ^C18777+0 records in 18777+0 records out 9613824 bytes transferred in 8.291 secs (1159492 bytes/sec) $ See difference in speed. So it looks like it's really good idea to use bs and count options. Here are outputs from OpenSolaris in VM for check : 1) with badly specified raw device $ pfexec dd if=/dev/rdsk/c4d0p0 of=/dev/null bs=1M count=10 dd: reading `/dev/rdsk/c4d0p0': I/O error 3+0 records in 3+0 records out 3145728 bytes (3.1 MB) copied, 0.390689 s, 8.1 MB/s 2) with correct raw device $ pfexec dd if=/dev/rdsk/c4d0s0 of=/dev/null bs=1M count=10 10+0 records in 10+0 records out 10485760 bytes (10 MB) copied, 0.153903 s, 68.1 MB/s 3) without bs and count options $ pfexec dd if=/dev/rdsk/c4d0s0 of=/dev/null ^C12075+0 records in 12074+0 records out 6181888 bytes (6.2 MB) copied, 4.9814 s, 1.2 MB/s On Thu, Dec 31, 2009 at 3:03 PM, Scott McEachern <sc...@erratic.ca> wrote: > I've been using dd to test some of my hard drives and just ran into the > oddest of coincidences. > > I used this command (or variation without the time command) > > # time dd if=/dev/rwd0c of=/dev/null > > on three machines with three HDD's of sizes 40GB SATA, 40GB IDE and 30GB > IDE, one of those 40GB (SATA) drives was in my workstation. B The result is > basically the same: x number of bytes transferred, etc. with no problems. > B They are all a few years old. B I bought a brand-new Seagate Barracuda > SATA/1.5TB/7200/32MB, installed it into my workstation and ran the same test > to get this: > > # dd if=/dev/rwd0c of=/dev/null B B B B dd: /dev/rwd0c: Input/output error > 268435455+0 records in > 268435455+0 records out > 137438952960 bytes transferred in 23763.827 secs (5783536 bytes/sec) > > What got me doing that in the first place was my workstation locking up hard > 3 times in the past few weeks. B I have no idea why, nothing in the system > logs, etc, and the only change was the HDD. B I figured the drive was > defective, ran the above test, and returned it for a replacement. B While > there, I also picked up a WD 500GB SATA drive and installed that in my > workstation (to be pre-built and installed in another PC), which gave this > result: > > # time dd if=/dev/rwd0c of=/dev/null > 976773168+0 records in > 976773168+0 records out > 500107862016 bytes transferred in 93283.067 secs (5361186 bytes/sec) > 1554m43.06s real (etc) > > No I/O error, so it should be good. B That's 2 drives ok (40 and 500 GB) and > 1 drive bad in the same PC, now for the 2nd new 1.5TB drive: > > dd: /dev/rwd0c: Input/output error > 268435455+0 records in > 268435455+0 records out > 137438952960 bytes transferred in 23740.766 secs (5789154 bytes/sec) > 395m40.76s real (etc) > > Oh, another crappy drive, I guess I have bad luck. B Probably from a bad > batch or something. B But wait... > > Look at the amounts transferred. B Exactly the same for both of the 1.5TB > drives, and I assure you it's not accidentally the same drive, just the > exact same make / model. B The cables / connections are good on known good > hardware, plus two other different drives were fine. B It can't be some odd > variable limit (or similar thing) because the 500GB values went well beyond > where the 1.5TB drives crapped out. > > I don't believe it's the hardware (other than the drive), nor the software, > but seeing those numbers being identical down to the byte is either > incredibly coincidental or .. ? B I'm going to run the test again, but as you > can see from the time it won't be done for another 6.5 hours. B Betcha it'll > be the same. > > Can anyone think of a plausible explanation for this, other than maybe a bad > batch where the drives are all equally defective at the exact same spot? > B While I'm here, can anyone recommend another tool than dd for testing > drives? B Seems to me with those numbers, to finish a 1.5TB drive it'll take > around 76 hours. B I don't mind the time, I need thoroughness. B It's better > than having a workstation (or server) mysteriously lock up after the 30-day > return/exchange is over. > > Just in case, here's a dmesg with some errors at the bottom regarding the > drive. > > OpenBSD 4.6-stable (GENERIC.MP) #0: Sat Dec 26 23:19:02 EST 2009 > B r...@blackstaff.erratic.ca:/usr/src/sys/arch/i386/compile/GENERIC.MP > cpu0: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz > cpu0: > FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUS H,DS > ,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,CNXT-ID,CX16,xTPR > real mem B = 1061974016 (1012MB) > avail mem = 1018036224 (970MB) > mainbus0 at root > bios0 at mainbus0: AT/286+ BIOS, date 02/14/06, BIOS32 rev. 0 @ 0xfd61a, > SMBIOS rev. 2. > 34 @ 0xf0320 (59 entries) > bios0: vendor IBM version "2EKT33AUS" date 02/14/2006 > bios0: IBM 8215W97 > acpi0 at bios0: rev 0 > acpi0: tables DSDT FACP TCPA MCFG APIC BOOT ASF! SSDT > acpi0: wakeup devices AZAL(S3) EXP0(S5) EXP1(S5) USB1(S3) USB2(S3) USB3(S3) > USB4(S3) US > BE(S3) SLOT(S5) KBC_(S3) PSM_(S3) COMA(S5) COMB(S5) > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: apic clock running at 199MHz > cpu1 at mainbus0: apid 1 (application processor) > cpu1: Intel(R) Pentium(R) 4 CPU 3.20GHz ("GenuineIntel" 686-class) 3.20 GHz > cpu1: > FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUS H,DS > ,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,CNXT-ID,CX16,xTPR > ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus -1 (PEG_) > acpiprt2 at acpi0: bus 2 (EXP0) > acpiprt3 at acpi0: bus 4 (EXP1) > acpiprt4 at acpi0: bus 10 (SLOT) > acpicpu0 at acpi0: FVS, 1600, 1400 MHz > acpicpu1 at acpi0: FVS, 1600, 1400 MHz > acpitz0 at acpi0: critical temperature 255 degC > acpibtn0 at acpi0: PWRB > bios0: ROM list: 0xc0000/0xac00! 0xcb000/0x1000 0xcc000/0x1000 0xcd000/0x800 > 0xe0000/0x > 1800! > pci0 at mainbus0 bus 0: configuration mode 1 (bios) > pchb0 at pci0 dev 0 function 0 "Intel 82945G Host" rev 0x02 > vga1 at pci0 dev 2 function 0 "Intel 82945G Video" rev 0x02 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) > wsdisplay0: screen 1-5 added (80x25, vt100 emulation) > intagp0 at vga1 > agp0 at intagp0: aperture at 0xc0000000, size 0x10000000 > inteldrm0 at vga1: apic 2 int 16 (irq 5) > drm0 at inteldrm0 > "Intel 82945G Video" rev 0x02 at pci0 dev 2 function 1 not configured > azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x01: apic 2 > int 22 (irq > 9) > azalia0: codecs: Analog Devices AD1981HD > audio0 at azalia0 > ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x01: apic 2 int 17 > (irq 11) > pci1 at ppb0 bus 2 > em0 at pci1 dev 0 function 0 "Intel PRO/1000MT (82573E)" rev 0x03: apic 2 > int 16 (irq 5 > ), address 00:10:c6:b5:c1:72 > ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x01: apic 2 int 16 > (irq 5) > pci2 at ppb1 bus 4 > uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x01: apic 2 int 23 > (irq 11) > uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x01: apic 2 int 19 > (irq 9) > uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x01: apic 2 int 18 > (irq 10) > uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x01: apic 2 int 16 > (irq 5) > ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x01: apic 2 int 23 > (irq 11) > usb0 at ehci0: USB revision 2.0 > uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > ppb2 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xe1 > pci3 at ppb2 bus 10 > xl0 at pci3 dev 9 function 0 "3Com 3c905C 100Base-TX" rev 0x74: apic 2 int > 21 (irq 7), > address 00:01:02:3b:a6:d1 > bmtphy0 at xl0 phy 24: 3C905C internal PHY, rev. 6 > ichpcib0 at pci0 dev 31 function 0 "Intel 82801GB LPC" rev 0x01: PM disabled > pciide0 at pci0 dev 31 function 2 "Intel 82801GB SATA" rev 0x01: DMA, > channel 0 wired t > o compatibility, channel 1 wired to compatibility > wd0 at pciide0 channel 0 drive 0: <ST31500341AS> > wd0: 16-sector PIO, LBA48, 1430799MB, 2930277168 sectors > wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 > atapiscsi0 at pciide0 channel 1 drive 0 > scsibus0 at atapiscsi0: 2 targets > cd0 at scsibus0 targ 0 lun 0: <HL-DT-ST, DVDRAM GSA-4163B, AX13> ATAPI > 5/cdrom removable > cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 4 > ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x01: apic 2 int > 19 (irq 9) > iic0 at ichiic0 > adt0 at iic0 addr 0x2e: lm96000 rev 0x68 > spdmem0 at iic0 addr 0x50: 512MB DDR2 SDRAM non-parity PC2-4200CL5 > spdmem1 at iic0 addr 0x52: 512MB DDR2 SDRAM non-parity PC2-5300CL5 > usb1 at uhci0: USB revision 1.0 > uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb2 at uhci1: USB revision 1.0 > uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb3 at uhci2: USB revision 1.0 > uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > usb4 at uhci3: USB revision 1.0 > uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 > isa0 at ichpcib0 > isadma0 at isa0 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo > com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo > pckbc0 at isa0 port 0x60/5 > pckbd0 at pckbc0 (kbd slot) > pckbc0: using irq 1 for kbd slot > wskbd0 at pckbd0: console keyboard, using wsdisplay0 > pcppi0 at isa0 port 0x61 > midi0 at pcppi0: <PC speaker> > spkr0 at pcppi0 > npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 > fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 > fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec > mtrr: Pentium Pro MTRR support > uhub5 at uhub4 port 1 "Dell Dell USB Keyboard Hub" rev 1.10/2.00 addr 2 > uhidev0 at uhub5 port 1 configuration 1 interface 0 "Dell Dell USB Keyboard" > rev 1.10/2 > .00 addr 3 > uhidev0: iclass 3/1 > ukbd0 at uhidev0: 8 modifier keys, 6 key codes > wskbd1 at ukbd0 mux 1 > wskbd1: connecting to wsdisplay0 > uhidev1 at uhub5 port 1 configuration 1 interface 1 "Dell Dell USB Keyboard" > rev 1.10/2 > .00 addr 3 > uhidev1: iclass 3/0, 3 report ids > uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0 > uhid1 at uhidev1 reportid 2: input=1, output=0, feature=0 > uhid2 at uhidev1 reportid 3: input=3, output=0, feature=0 > uhidev2 at uhub4 port 2 configuration 1 interface 0 "Logitech USB Optical > Mouse" rev 2. > 00/43.01 addr 4 > uhidev2: iclass 3/1 > ums0 at uhidev2: 3 buttons, Z dir > wsmouse0 at ums0 mux 0 > softraid0 at root > root on wd0a swap on wd0b dump on wd0b > wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85 > sn 15), ret > rying > wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85 > sn 15), ret > rying > wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85 > sn 15), ret > rying > wd0: transfer error, downgrading to Ultra-DMA mode 4 > wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4 > wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85 > sn 15), ret > rying > wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85 > sn 15), ret > rying > wd0c: id not found reading fsbn 268435455 (wd0 bn 268435455; cn 16709 tn 85 > sn 15) > (END) > > > -- > > -RSM > > http://www.erratic.ca > > -- http://www.openbsd.org/lyrics.html