For USB transfers, every read/write goes through the CPU so an external USB to another external USB doubles the CPU load. 


On Jul 13, 2010, at 5:19 PM, Mike Miller <mbmiller+l at gmail.com> wrote:

> I'm using Ubuntu 9.10 and I have two big external USB HDDs connected to 
> this one computer.  I thought I'd copy about 70 GB of data from one to the 
> other.  This was a major problem -- it slowed the system to a crawl and it 
> could only move about 100 MB per minute between the drives.  It was going 
> to take 12 hours to copy the files.  Meanwhile I couldn't use the machine. 
> So I killed the job half way through.
> 
> Next I tried copying files from one HDD to a supercomputer on our 
> University network.  It copied 32.2 GB across the network in 85 minutes, 
> so it was about 4 times as fast as copying from one drive to another on 
> the same machine.  Also, it had a minimal effect on my experience as a 
> user while it was moving the files.
> 
> Then I tried to copy the files from the remote machine back to the other 
> external USB HDD.  This was having a big impact on performance, but it was 
> fairly fast -- the files were coming back at the same speed that they had 
> gone out.
> 
> Thus, this...
> 
> External HDD #1  -->  remote machine  -->  External HDD #2
> 
> ...was about twice as fast as this...
> 
> External HDD #1  -->  External HDD #2
> 
> There's something very wrong with a system that works that way.  If I had 
> enough space on my internal HDD, I'd do this and probably get even better 
> results:
> 
> External HDD #1  -->  Internal HDD  -->  External HDD #2
> 
> 
> Another crazy thing is that it must have been really killing my CPU 
> because I could hardly do anything else while the drive-to-drive USB 
> transfer was active, but programs like "ps aux" and "top" (both of which 
> literally took minutes to launch) seemed to show that almost nothing was 
> happening.  Why is that?
> 
> Mike
> 
> _______________________________________________
> TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
> tclug-list at mn-linux.org
> http://mailman.mn-linux.org/mailman/listinfo/tclug-list