VMware Communities
bertramaerts
Contributor
Contributor

Guest Windows 11 very slow disk performance

VMWare Workstation Pro 16.2.4 with VMWare Tools 12.0.6
Host Ubuntu 22.04 64 bit with i7-10750H 12 threads 32 GB RAM
Guest Windows 11 with TPM and encrypted disk with 6 threads 8 GB RAM 100GB disk not pre-allocated

When I run the Phoronix Test Suite blogbench I get a ratio of host / guest
disk read speed factor 250 times slower
disk write speed factor 100 times slower

When I upgrade Cadence Orcad 17.40 with the latest hotfix this takes 29 hours

Why are disk operations in the guest so slow and what can I do about it?

0 Kudos
9 Replies
ender_
Expert
Expert

Disk encryption slows down everything. Workstation 16.2.4 does support a mode where adding TPM doesn't require you to fully encrypt the VM, but it has some disadvantages (you can't ever move that VM to another computer, because parts of the VM remain encrypted, and there is no way to get the decryption key), and you need to edit the .vmx file manually to enable it. If you want to run Windows 11 guests, your best bet is to upgrade to current Workstation Technical Preview, which has much better support for TPM and Windows 11.

0 Kudos
bertramaerts
Contributor
Contributor

Thank you very much for your explanation and suggestion to try VMWare Workstation Technical Preview 22H2. Partial encryption seems indeed a very good approach. I installed this beta version and converted the hardware model of my Windows 11 virtual machine. But how can I switch from fully encrypted disk to partial encryption? I did not find how this can be done via the virtual machine settings. Also the documentation only contains 15 pages and describes how to create a new Windows 11 virtual machine, not how to convert an existing one.

0 Kudos
ender_
Expert
Expert

I haven't done this personally, but I'd try removing the TPM, then first remove the VM encryption, re-add (fast) encryption and finally add TPM again.

0 Kudos
bertramaerts
Contributor
Contributor

I followed the suggested steps to switch from fully encrypted disk to partially encrypted disk. It succeeded. Thanks.
Now on startup of VMWare Workstation, I no longer need to provide the encryption password to use Windows 11 virtual machine.

But unfortunately, the Phoronix Test Suite blogbench results are still in line with earlier results.
So the very slow disk performance was not caused by the disk encryption?
Any other ideas on what can be improved?

0 Kudos
ender_
Expert
Expert

What kind of virtual disk does your VM use? There are some complaints that the VMWare's NVMe emulation is much slower than SCSI – if that's the case, try switching the disk to SCSI.

This is slightly more involved – make a backup copy of the VM first, in case anything goes wrong. Then start by adding a second hard drive to the VM, and choose the type as SCSI. It doesn't matter how big the disk is, you just need it temporarily. Exit VMWare, and open the .vmx file from your VM in Notepad. Search for line that says scsi0.virtualDev = "lsisas1068" and change it to scsi0.virtualDev = "pvscsi". Now run VMWare again, boot the VM, and check in Device Manager that you see "VMWare Paravirtual SCSI" under Storage Controllers. If it's not there (or if it has a ⚠️ or question mark), reinstall VMWare Tools. Shut down the VM, exit VMWare, and open .vmx in Notepad again. Change the lines nvme0.present = "TRUE" and nvme0:0.present = "TRUE" to both say FALSE, and copy the disk file name from nvme0:0.fileName = "Windows 11 x64-000002.vmdk" to the scsi0:0.fileName line. Save the .vmx, run VMWare again, and in Settings check that you now only see a SCSI hard drive. Boot the VM, and check if disk performance is better now.

0 Kudos
bertramaerts
Contributor
Contributor

(In the device manager I saw as storage controller LSI SAS 1068.)
I added a second hard disk to my Windows 11 virtual machine with type SCSI instead of NVME of 10 GB and closed VMWare Workstation.
Then I changed in the .vmx file scsi0.virtualDev = "lsisas1068" to scsi0.virtualDev = "pvscsi".
I started VMWare Workstation and acitvated Windows 11 virtual machine.
I got the blue screen of death and tried it twice.
I then changed back to "lsisas1068" and Windows said it could not repair, but after a second boot, Windows 11 was back to normal.

What have I missed?

 

0 Kudos
ender_
Expert
Expert

Was your virtual disk NVMe or SCSI before you started? The instructions were only if the disk was NVMe.

0 Kudos
bertramaerts
Contributor
Contributor

bertramaerts_0-1661780014703.png

It says SCSI, so I suppose I did not have an NVME disk then? Although I had the "lsisas1068" as storage controller.
How do I remove the second disk?
Probably disk encryption disables the "remove disk" button. I switched back to my backup to get rid of the second disk.

0 Kudos
ender_
Expert
Expert

Yeah, it appears that using encryption prevents you from removing disks. You can still do that by editing the .vmx file manually.

0 Kudos