On Sat, Aug 29, 2009 at 11:52:48PM -0430, Patrick O'Callaghan wrote: > Just a quick note to call people's attention to > http://marc-abramowitz.com/archives/2007/02/17/getting-good-performance-out-of-usb-hard-drives-in-linux/. This is a couple of years old but it worked like a charm for me. > > Briefly, there's a kernel parameter > called /sys/block/sd[a,b,...]/device/max_sectors (for USB drives sda, > sdb etc.). This specifies the maximum size of a disk I/O operation for > USB storage devices in units of 512 bytes, the default value being 240, > i.e. 120KB (see http://www.linux-usb.org/FAQ.html#i5). The max_sectors > value can be changed doing "echo N > ..." as root, and can have a > dramatic effect on write performance for USB devices such as pendrives. > > I tested this by writing over 2GB to a fresh VFAT filesystem on a 4GB > Kingston Data Traveller pendrive plugged into a USB2 port with the EHCI > driver (as indicated by dmesg). With the default setting, this took > nearly 90 minutes including a final sync to flush the buffers. Using a > max_sectors value of 1024 -- the highest the system would accept -- the > time was reduced to under 16 minutes, a better than 5 times speedup. > YMMV of course, as different brands of pendrive can have very different > performance characteristics. > > Note that the value resets to the default when you unplug the drive, so > you need to set it manually each time. I don't know if there's a way to > do this automatically, or change the default value permanently. > > Sorry of everyone already knew this, but I found it so useful I just had > to share it :-) No, I didn't know it! I was just playing with it on F12 on my eeepc 901, using a 1 gig Memorex stick. On that hardware I cannot use any value > 1024, or I get: bash: echo: write error: Invalid argument. but copying a 640 meg file takes abouty 4:20 (4 mins, 20 sec) with the default setting of 240 and about 40 seconds with it set to 1024. Nice speedup. With an 8 gig Sandisk Cruzer I get the same error when trying to use a value > 1024, so it's not caused by the USB stick, but by some limitation in the system (despite what it says in the USB FAQ referenced above about there being no kernel limit.) -- ---- Fred Smith -- fredex@xxxxxxxxxxxxxxxxxxxxxx ----------------------------- The eyes of the Lord are everywhere, keeping watch on the wicked and the good. ----------------------------- Proverbs 15:3 (niv) ----------------------------- -- fedora-list mailing list fedora-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines