Mac – Running a VM off a USB 2.0 Flash Drive – Mac/Parallels/XP

macparallelsperformanceusb-flash-drivevirtual machine

I use a MacBook Air as my primary machine, and the 128GB SSD means space is precious. To save about 10 GB, I've been running Parallels with a Windows XP VM off an external USB hard drive, which performs as well in everyday use as running the VM off the internal SSD.

So, I bought a tiny 32GB USB 2.0 flash drive, plugged it into the MacBook Air, formatted it first as ExFAT (which was slow), then as Mac OS Extended (Journaled) (which was also slow), and copied over my VM file, and ran Parallels off it.

My full experience is documented here: http://www.midwesternmac.com/blogs/jeff-geerling/running-windows-xp-vm

Straight file copies are really fast — 30 MB/sec read (solid the whole time), and 10-11 MB/sec write (solid the whole time). But I noticed that once XP started running, the disk access rates were in the low KB ranges.

Are USB flash drives really that poor at random access, or could I possibly be missing something (the format of the flash drive, etc.?)?

Of note, I've tried the following, to no great effect:

  1. Formatting the drive as either ExFAT or Mac OS Extended (Journaled)
  2. Unplugging all other USB devices and turning off Bluetooth (which runs on the right-side-port USB bus).
  3. Plugging in the flash drive either direct in the right side port, or the left side port, or into a USB 2.0 hub

Best Answer

I was just going to comment with this, but ran out of room...

USB flash drives are very poor for random access read and write unless you specifically purchase a USB flash drive for speed. You'd know if you had a 'fast' USB thumb drive since you probably would have paid two or three times more for it. This versus this. 70MB/s & 39MB/s versus 155MB/s & 150MB/s.

The real issue is that the USB 2.0 port on the Macbook Air maxes out. The theoretical maximum data rate in USB 2.0 is 480 Mbit/s (60 MB/s) per controller and is shared amongst all attached devices. So even if you get a 150MB/s USB drive, you'll top out at around 60MB/s.

Related Question