VMware Communities
drueter
Contributor
Contributor

USB and High CPU Utilization in VMWare Workstation 12.5

I am seeing 100% CPU utilization in both the host and guest, running VMWare Workstation 12.5 while performing heavy data transfer to USB3 devices in the VM.

I am running a FreeBSD x64 (FreeNAS) guest in a VMWare Workstation 12.5 virtual machine under a Windows 10 guest.  The host machine has a Core i5-6500T @ 2.50 GHz CPU, 32 GB of RAM, and a gigabit Ethernet interface.

I am making extensive use of USB3 hard drives in the guest.  The VM is configured with a USB 3.0 controller (i.e. XHCI enabled), and the guest OS properly detects the drives, and indicates 400.000MB/s transfers.  This guest is the only VM running on the machine, and VMWare Workstation is the only application running on the physical machine.  The guest VM is currently configured with 24 GB of RAM and 4 virtual processors (though I have tried lower number of processors with the same results).

However, CPU utilization on both the physical host machine and the guest VM are pegged at 100% when doing large data transfers.  The data comes across the physical network, through the bridged network interface in the VM, to FreeNAS that is then managing a 4-drive RAID-Z1 ZFS pool using 4 USB3 drives connected to a USB hub.

Basically the network data transfer rate is limited to about 450 Mb/s (about 56 MB/s), and each of the 4 disks show roughly 20 MB/s...which makes sense, as one of the four drives is a parity drive, and the remaining 3 drives x 20MB/s roughly matches the 56 MB/s being transferred across the network.  Thus the 4 drives represent about 80MB/s of sustained transfer from the VM to the USB3 bus.

However it seems that the CPU is the limiting factor, as it stays at nearly 100% (on both the guest and the host).

I appreciate the complexity involved in passing through the USB3 devices to the virtual machine, and it makes sense that transferring data to the USB3 devices would involve the CPU.  I am happy that this works at all / as well as it does.

Still, the overall throughput is only about half of what the hardware supports (as determined by running the same FreeNAS on the bare metal).

Does anyone know of any ongoing work by VMWare to refine USB3 support to reduce load on the CPU?  Are there any settings that I can change to increase performance and lessen CPU load during heavy use of USB3 devices in the VM?  Would a Linux-based host provide any advantages?

0 Kudos
0 Replies