VMware Communities
NoelC1
Enthusiast
Enthusiast
Jump to solution

Windows 8.1 Pro/Ent Preview Guests - Windows Net Performance Halting, Barely Works

I have a powerful Windows 7 x64 Ultimate workstation.  On it I have installed VMware Workstation 9.  It's fully up to date.

Windows 8.1 Pro Preview and Windows 8.1 Enterprise Preview Guests can barely transfer groups of files to/from the host system or other VMs.   Performance is dismal.

File transfers seem to start out being able to access a few files fairly quickly but almost immediately everything slows to a crawl, slowing the transfers down to near zero data throughput.  It's trivial to reproduce - I just need to try to pull (copy) a folder with a few tens of megabytes of files from host to guest.  There is almost no network load, as measured by Task Manager, Resource Monitor, etc., yet the VM and often the host both often seem bogged down.

All other Windows guests, including Windows XP, Windows Vista, Windows 7, and Windows 8 RTM work great - no problem.  Network transfers run as fast as the drive array will support.

Networking is Bridged in all cases.

Observations that may be pertinent:

  • The transfer may copy several files quickly, then almost immediately slows to a virtual crawl.  I have occasionally seen it fail, but usually it struggles along at incredibly slow throughput speeds.
  • There is no problem reaching the Internet (e.g., browsing) from the Windows 8.1 guests.  It runs clean and fast.  Only Windows networking - e.g., copying files between Windows systems - is affected.
  • The problem seems to be symmetric; i.e., Windows Networking from the host to the guest, or between guest Windows VMs is also slow no matter who initiates the copies.
  • The host system sometimes lags while the guest is accessing it, as though a common resource is tied up.  Occasionally the fans will speed up, as though there's a heavy CPU load, though I haven't seen much of that in Task Manager.
  • PING from the guest to the host is IPv6 and succeeds 100% of the time and time<1ms, with VERY occasional delays longer than that - even while a lagging transfer is taking place.  The problem seems to be in the network stack somewhere above IP.
  • Some file types seemed to transfer faster than others, leading me to initially wonder whether anti-malware software (I use Avast! on the host) could be involved, but it's not consistent.  Disabling AV software doesn't help.  I later thought this was probably just an issue where .exe and .dll files are generally larger.
  • It doesn't matter whether using a mapped net drive or a UNC file name, the problem happens both ways.
  • No obvious errors show up in the event logs to give a clue what's happening, though the event log is not clean (e.g., "The server {AB807329-7324-431B-8B36-DBD581F56E0B} did not register with DCOM within the required timeout.").  However, these errors don't seem consistent with the laggy network operation.
  • The problem happens with a bone stock, just installed Windows 8.1 guest, even without VMware tools installed.
  • Host and VMs otherwise work flawlessly.  This is a well-maintained, perfectly stable system.

This is typical:

SlowWin81Xfer.png

Based on my double and triple checking, this is not a simple configuration issue, though I will be happy to verify settings on request.

My intuition tells me the virtual network adapter is somehow incompatible with Windows 8,1, but that's a guess.

Thanks in advance for any help you can offer.  Please let me know if there is more information I can provide, especially if there is diagnostic information somewhere I'm neglecting.

-Noel

35 Replies
NoelC1
Enthusiast
Enthusiast
Jump to solution

It's no problem at all.

Windows 8.1 (as have been all the above):

C:\TEMP>netsh interface tcp show supplemental

The TCP global default template is internet

By the way, the output has all been the same from a Windows 8(.0) VM that's working fine, except that the Win 8.1 VM put out two additional parameters for the netsh interface tcp show global command.

Windows 8.0 VM (works great):

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\TEMP>netsh interface ip show subinterface

   MTU  MediaSenseState   Bytes In  Bytes Out  Interface
------  ---------------  ---------  ---------  -------------
4294967295                1          0       8931  Loopback Pseudo-Interface 1
  1500                1    1331265     452758  Ethernet


C:\TEMP>netsh interface tcp show global
Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : normal
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Receive Segment Coalescing State    : disabled


C:\TEMP>netsh interface tcp show supplemental

The TCP global default template is internet

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

I hesitate to suggest this, since Windows 8 is working fine with the same settings, but you might try:

netsh interface tcp set global autotuning=disabled

0 Kudos
NoelC1
Enthusiast
Enthusiast
Jump to solution

I don't mind trying things on it.  It's a VM after all, and we do have this wonderful snapshot feature.  Smiley Happy

I did netsh interface tcp set global autotuning=disabled, then rebooted (just for good measure).

There was no change to the symptom.  Probably says the bug/glitch isn't in the autotuning feature.

SlowXfer.png

My own personal thoughts are that maybe somehow the change in the Windows scheduler so that interrupts don't occur at regular 1/1000 second intervals but are now variable has somehow affected a driver or protocol implementation.

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

NoelC1 wrote:

My own personal thoughts are that maybe somehow the change in the Windows scheduler so that interrupts don't occur at regular 1/1000 second intervals but are now variable has somehow affected a driver or protocol implementation.

Following up on that thought, try adding the following option to the .vmx file (with the VM powered off):

timeTracker.lazyApic = FALSE

0 Kudos
NoelC1
Enthusiast
Enthusiast
Jump to solution

Not sure whether VMware re-reads the .vmx file in entirety so I closed the tab and reopened it after making the above mod.

Ran the folder copy again.  Iinitially I thought maybe it was better, because it started out fast, but it ran into a wall at about 10% complete, then was showing numbers as small as 0 bytes/s.

SlowXfer2.png

Probably just random happenstance that it looked a little different.  Next time I tried it the symptoms were the same as in all prior tests.

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

Can you install VMware Tools and switch the virtual NIC from e1000e to vmxnet3?

0 Kudos
NoelC1
Enthusiast
Enthusiast
Jump to solution

Can you be a little more specific how to do that?  I have VMware Tools installed already, but haven't done that operation before.

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

I'm not sure if it can be done through the GUI.  Edit the .vmx file (with the VM powered off) and replace all occurrences of "e1000e" with "vmxnet3".

0 Kudos
NoelC1
Enthusiast
Enthusiast
Jump to solution

Okay, that was easy enough.  There was only one of them.

That seems to have worked.  The entire folder now copies in a few seconds.  Bravo!

Now the $64 question.  What did that change just do?  Smiley Happy

Edit:  Removed incorrect statement about IPv6.

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

This changed the virtual NIC from an emulated Intel 82574 (i.e. e1000e) to a VMware paravirtual NIC (i.e. vmxnet3).

NoelC1
Enthusiast
Enthusiast
Jump to solution

That would imply the emulated Intel NIC has some kind of problem when used with Windows 8.1 then (or that the NIC driver in Windows 8.1 has problems when used with an e1000e).  Thank you, this is a good workaround for me, in that I always use guests with VMware Tools installed.

I may have been wrong about differences in IPv6 before.  I had thought I had seen PING responses showing IPv6, but restoring the old e1000e setting I still see IPv4 responses, and I see IPv4 from my Windows 8 VM as well.

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

There is also the possibility of the older e1000 (no trailing 'e') emulated NIC, for guests without VMware Tools installed.  It would be interesting to know if that has the same problems as the e1000e.

NoelC1
Enthusiast
Enthusiast
Jump to solution

Your wish is my command.

I changed to e1000 and it also blazes right along with folder copies, no stalls.

Looks like the e1000e emulation is the problem, when used with Windows 8.1.

Thanks for your help!  I hope this info helps the VMware team release a more robust Workstation 10.

-Noel

0 Kudos
admin
Immortal
Immortal
Jump to solution

Thank you for the report.

0 Kudos
Shillerua
Contributor
Contributor
Jump to solution

Just to let you know: i had the same problem with vmware 10 final and windows 8.1 entrprise x86.

it was not only network file copying, i've tried tcp connection between our client-server program and it was super slow. Windows 8.0 and below all are good.

changing to vmxnet3 fixed the problem, but its not a 100% fix. Looking at the performance tab -> Network of the task manager i still see the down drops often. switching from bridged to nat makes it work much better.

0 Kudos
shadydeath
Contributor
Contributor
Jump to solution

I ran into the same issue today, tried following the earlier said answer with no succes but got it fixed by re running the set up and letting it repair the current installation.

hope this helps any of you for wich the previous given solution doesn't work

0 Kudos