USB/SD transfer speed for concurrent writing of multiple files on Linux

06
2014-04
  • lorenzo.marcon

    I need to transfer more than one big file on USB or SD device, let's say 4 files of 1 GB each.

    I noticed that on USB, the concurrent transfer of multiple files is way slower than queuing up the copy; it's a simple test I made by myself:

    Test 1 (queue):

    $ cp file1 /mnt/usb;cp file2 /mnt/usb;cp file3 /mnt/usb;cp fil41 /mnt/usb;
    

    12 minutes.

    Test 2 (concurrent, from 4 different shells)

    $ cp fileN /mnt/usb
    

    40 minutes.

    This problem doesn't happen on MacOS. If I perform the same tests, the total copy time is pretty much the same.

    Why this happens on Linux? Why does performance degrade so much in concurrent writing? Is there any other way to work around this problem (besides copying files in a queue)? I tried with both cp and rsync.

  • Answers
    Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

    Related Question

    Low USB transfer speed
  • dhasu

    I am using Windows Vista, my Motherboard is Intel D102GGC2 The transfer speed through USB is very slow on my PC, just 2-3 MBps...

    I also use Ubuntu 9.10, and surprisingly the USB transfer speed is as expected, ie 16-17 MBps.

    So everytime i have to transfer Huge files i have to reboot into Ubuntu.

    What might be the Problem ??? I checked the Intel website for the ubdated drivers for my mobo, but they dont support my mobo now.

    Thanks


  • Related Answers
  • Matthew Flaschen

    Apparently, your Vista driver does not support Hi-Speed USB.

  • matt wilkie

    eHow says configuring Vista to Optimize for performance may help: Start > Computer > r-click USB drive > Properties > Hardware > All drives > usb drive > r-click > Properties > Performance.