I've got into the habit nowdays of using Grsync for most copy operations.
It seems to do that job at the maximum speed possible on Linux and when it's finished the operation there's no waiting for something to complete copying from a buffer or anything, things usually unmount straight away.
I've seen variations of speed at times, sometimes USB 3 devices would slow to a crawl for a while, then speed up again for no explainable reason.
Discovered eventually it was something to do with the port/s I was using on my particular machine, it has USB 3 ports front and rear and the front ones occasionally don't seem to work correctly.
For testing read/write speeds on USB devices I use 'f3', can't remember if it's installed by default or not.
It seems to be fairly accurate with regards to read/write speeds as the speeds are usually pretty much the same when using Grsync on the same devices.
In Terminal 'f3write /mountpoint/diskname', once that's finished 'f3read /mountpoint/diskname'.
It gives a fairly accurate idea of the device's read/write speeds and in some instances explains why it seems to take so long for copying to complete as that's limited to the slow write speed of the device itself.
Here's one I just did on a 4GB cheap Fleabay USB stick:
Code: Select all
$ f3write /media/home/DISK_IMG/
Free space: 3.68 GB
Creating file 1.h2w ... OK!
Creating file 2.h2w ... OK!
Creating file 3.h2w ... OK!
Creating file 4.h2w ... OK!
Free space: 0.00 Byte
Average writing speed: 2.82 MB/s
$ f3read /media/home/DISK_IMG/
SECTORS ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/ 0/ 0/ 0
Validating file 2.h2w ... 2097152/ 0/ 0/ 0
Validating file 3.h2w ... 2097152/ 0/ 0/ 0
Validating file 4.h2w ... 1426576/ 0/ 0/ 0
Data OK: 3.68 GB (7718032 sectors)
Data LOST: 0.00 Byte (0 sectors)
Corrupted: 0.00 Byte (0 sectors)
Slightly changed: 0.00 Byte (0 sectors)
Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 29.91 MB/s