Hello and good morning all,
In working around the Copy/Paste issue Shared VM - Copy/Paste and Cloning that I have another thread on, I had Network Discovery enabled to allow file transfer between the Host and Guest operating system.
When enabling this feature, I notice a very significant slow down of the guest operating system to where it would stutter at times. Its so severe that I need to disable it in order to restore performance back to the VM. Keep in mind this is running on an AMD 3990X Threadripper and performance has never been an issue till I enabled Network Discovery.
I wanted to see if anyone knew how to eliminate this problem?
Hi,
On most systems 8 CPU's is indeed too much, however like you say, it should be fine on yours.
Note however that the networking between host & guest is all done via CPU, so while it should be fine, there might still be some truth in what has been said about overprovisioning.
In theory however I agree with you that there is plenty of host resources left over.
I also agree with Ulli about the use of auto-protect snapshots not making sense with the independent disk.
re. the ethernet adapter, as mentioned earlier, you are using "e1000e" .. you could try and change that to vmxnet3.
In order to do so, shut down -not suspend- your VM, shut down VMware Workstation as well then edit the line that has "e1000e" into "vmxnet3".
This might or might not help, depending on if you are even having a resources problem.
It could be something completely different.. I'm wondering if you are not having a DNS problem.
If you open a DOS window in your guest and type :
nslookup www.vmware.com
Does it return immediately? Also what is the output?
One more thing...
You have enabled hypervisor capabilities for your guest OS. (under CPU options configuration)
Unless you are using that, you should not enable it, it is not an "improve my performance" option.
There's a good reason it is not enabled by default. Code profiling isn't on by default either, disable it.
--
Wil
Hi,
That doesn't sound right.
How many of the available vCPU's did you assign to the guest?
Also what is your guest OS? (sounds like it is a Windows one, if so which one?)
Check the virtual network card used.
On Windows I think the default is intel e1000 and that one does not perform very well.
The intel e1000e will work better.
The most performant however is the vmxnet3 adapter, but the latter one requires vmware tools to be installed as it is not a windows inbox driver yet (afaik)
--
Wil
Thank you for the response.
Below is the contents of the .vmx file, note the XXXXX are project names removed.
The Host Operating System is Windows 10 Pro x64 v10.0.18363 Build 18363
The motherboard is Gigabyte TRX40 Aorus Master
EDIT:
Also, can you elaborate on this
"Check the virtual network card used.
On Windows I think the default is intel e1000 and that one does not perform very well.
The intel e1000e will work better."
Could you please give me steps on how to check and verify / alter this?
The Virtual Machine is configured as such:
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "16"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
displayName = "XXXXXXXXXXXX"
guestOS = "windows9-64"
nvram = "XXXXXXXXXXXX.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
usb.vbluetooth.startConnected = "TRUE"
firmware = "efi"
sensor.location = "pass-through"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
numvcpus = "8"
cpuid.coresPerSocket = "8"
memsize = "16384"
mem.hotadd = "TRUE"
scsi0.virtualDev = "lsisas1068"
scsi0.present = "TRUE"
sata0.present = "TRUE"
scsi0:0.fileName = "XXXXXXXXXXXX.vmdk"
sata0:1.deviceType = "cdrom-raw"
sata0:1.fileName = "auto detect"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.graphicsMemoryKB = "1048576"
ethernet0.addressType = "static"
ethernet0.virtualDev = "e1000e"
serial0.fileType = "thinprint"
serial0.fileName = "thinprint"
ethernet0.present = "TRUE"
extendedConfigFile = "XXXXXXXXXXXX.vmxf"
numa.autosize.cookie = "80082"
numa.autosize.vcpu.maxPerVirtualNode = "8"
uuid.bios = "56 4d 94 a2 4f 76 3c 7e-f7 0c c7 ac eb 1d 47 0d"
uuid.location = "56 4d 94 a2 4f 76 3c 7e-f7 0c c7 ac eb 1d 47 0d"
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "192"
sound.pciSlotNumber = "-1"
ehci.pciSlotNumber = "34"
usb_xhci.pciSlotNumber = "224"
vmci0.pciSlotNumber = "35"
sata0.pciSlotNumber = "36"
scsi0.sasWWID = "50 05 05 62 4f 76 3c 70"
svga.vramSize = "268435456"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "268435456"
vmci0.id = "-800030642"
monitor.phys_bits_used = "43"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
toolsInstallManager.lastInstallError = "0"
svga.guestBackedPrimaryAware = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "3"
guestOS.detailed.data = ""
gui.lastPoweredViewMode = "fullscreen"
sata0:1.autodetect = "TRUE"
vhv.enable = "TRUE"
vpmc.enable = "TRUE"
checkpoint.vmState = ""
vc.uuid = ""
policy.vm.mvmtid = ""
vm.genid = "3352729945805702004"
vm.genidX = "8848313689448859159"
sata0:1.startConnected = "FALSE"
scsi0:0.mode = "independent-persistent"
scsi0:0.present = "TRUE"
workingDir = "."
mks.keyboardFilter = "allow"
sound.startConnected = "FALSE"
sound.fileName = "-1"
snapshot.action = "autoCommit"
snapshot.numRollingTiers = "3"
rollingTier0.uid = "1"
rollingTier0.interval = "86400"
rollingTier0.baseTier = "0"
rollingTier0.baseTierInterval = "0"
rollingTier0.maximum = "1"
rollingTier0.live = "FALSE"
rollingTier0.clientFlags = "8"
rollingTier0.displayName = "AutoProtect Snapshot"
rollingTier1.uid = "2"
rollingTier1.interval = "604800"
rollingTier1.baseTier = "1"
rollingTier1.baseTierInterval = "7"
rollingTier1.maximum = "1"
rollingTier1.live = "FALSE"
rollingTier1.clientFlags = "8"
rollingTier1.displayName = "AutoProtect Snapshot"
rollingTier2.uid = "3"
rollingTier2.interval = "2419200"
rollingTier2.baseTier = "1"
rollingTier2.baseTierInterval = "28"
rollingTier2.maximum = "1"
rollingTier2.live = "FALSE"
rollingTier2.clientFlags = "8"
rollingTier2.displayName = "AutoProtect Snapshot"
tools.upgrade.policy = "upgradeAtPowerCycle"
ethernet0.linkStatePropagation.enable = "TRUE"
rollingTier0.timeSincelast = "82663"
rollingTier1.timeSincelast = "82663"
rollingTier2.timeSincelast = "82663"
hgfs.mapRootShare = "FALSE"
usb.generic.allowHID = "TRUE"
sata0:0.autoDetect = "TRUE"
sata0:0.deviceType = "cdrom-raw"
sata0:0.fileName = "auto detect"
sata0:0.present = "TRUE"
sata0:0.connectionStatus = "4"
sata0:0.startConnected = "FALSE"
ethernet0.address = "00:50:56:22:A0:64"
isolation.tools.hgfs.disable = "FALSE"
floppy0.present = "FALSE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"
unity.wasCapable = "TRUE"
numvcpus = "8"
cpuid.coresPerSocket = "8"
memsize = "16384"
This VM will very likely perform poorly.
You also use persistent vmdks with Autoprotect/Autodestruct turned on - this makes no sense at all.
It means you get the full performance-hit without any benefit ...
The virtual networkdevice is e1000e - thats ok
Could you please explain why this would cause a problem?
numvcpus = "8"
cpuid.coresPerSocket = "8"
memsize = "16384"
Follow up, could you care to elaborate as to why those configuration values would be "perform poorly"?
Because you are assigning too much resources to the guest, and starving your host.
I don't think you saw in my original thread this machine has a 3990X CPU.
128threads with 128GB of DDR4 3200MHZ ram with 3500mb/s 970EVO PRO SSD's.
Theres nothing to starve. Thank you for answering though.
Hi,
On most systems 8 CPU's is indeed too much, however like you say, it should be fine on yours.
Note however that the networking between host & guest is all done via CPU, so while it should be fine, there might still be some truth in what has been said about overprovisioning.
In theory however I agree with you that there is plenty of host resources left over.
I also agree with Ulli about the use of auto-protect snapshots not making sense with the independent disk.
re. the ethernet adapter, as mentioned earlier, you are using "e1000e" .. you could try and change that to vmxnet3.
In order to do so, shut down -not suspend- your VM, shut down VMware Workstation as well then edit the line that has "e1000e" into "vmxnet3".
This might or might not help, depending on if you are even having a resources problem.
It could be something completely different.. I'm wondering if you are not having a DNS problem.
If you open a DOS window in your guest and type :
nslookup www.vmware.com
Does it return immediately? Also what is the output?
One more thing...
You have enabled hypervisor capabilities for your guest OS. (under CPU options configuration)
Unless you are using that, you should not enable it, it is not an "improve my performance" option.
There's a good reason it is not enabled by default. Code profiling isn't on by default either, disable it.
--
Wil
Thank you for the great response!
Also can you please point out the exact configuration setting for 'hypervisor'? I do not see it in the config and would like to disable it. It is not needed.
Hi,
You don't need these two lines (just remove them with the vm shut down and not open in VMware Workstation tab - easiest is just shut down Workstation):
vhv.enable = "TRUE"
vpmc.enable = "TRUE"
FWIW, it's these settings:
For your VM, the top two checkbox'es are ticked and they don't need to be.
--
Wil