Highlighted
Enthusiast
Enthusiast

VMWare Performance Under Linux?

Jump to solution

I am running into major issues with Windows 10 Professional updates now.  I cannot install the October Cumulative update at all on my host workstation.  I get a nonstop reboot loop that never ends.  My host workstation is currently on Windows 10 1909.  the 2004 update completely fails to install with no help from Microsoft to resolve.  My workstation desktop has sufficient power--

Dell Precision T7600

lntel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz 2.70 GHz (2 processors)

128GB RAM

NVIDIA QUADRO P5000 video 16GB VRAM

PERC 710P RAID10 (1GB cache)

6TB total space

This should be plenty of power to run the latest Windows 10, but I cannot get the latest installed.  I am getting fed-up with Microsoft.  I run into this same issue over and over.

What I wish to do is wipe my drives and install Ubuntu instead of Windows.  I currently run Ubuntu in a vm, and I am familiar enough with it.  It is very fast within this vm on my Windows 10 host.  I imagine it will be very fast and powerful when run as a host.  I have never used VMWare Workstation under a Linux host, and I am wondering what type of performance to expect with Windows 10 run under a virtual machine under Linux.  Windows 10 vm run under a Windows 10 host gets slow at times.  Should I expect this same behavior under Linux?  I have plenty of memory, CPU cores/threads, and tons of disk space.  I am hoping that Linux VMware will perform much better than Windows, but I have to get opinions of those who have done it.

Any comments?

Thanks!

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Enthusiast
Enthusiast

Last note on this--

I copied my Windows 10 guest from my Windows host install to my Linux host.  Windows 10 guest runs significantly faster under Linux than Windows.  It's very responsive and quick.  It even starts significantly faster under Linux than it does under Windows.  This was the answer I was looking for.  Linux is a superior host.

View solution in original post

0 Kudos
21 Replies
Highlighted
Enthusiast
Enthusiast

Incidentally, the reason I must run Windows is to work remotely.  I currently work remotely using my VMWare Workstation Windows 10 guest.  There is required software I must install that causes conflicts on my host, so working remotely via a guest is something I have been doing for quite some time now.  I would only imagine that Linux would be a superior host than Windows.  Are there any caveats perhaps?  Is there something else I may be missing?

Other than work, I would use Windows to play an occasional game.  Also, I would listen to music with my DAC under Windows too (at least until I found a replacement for fb2k under Linux; I am not sure any exists with its capabilities).

0 Kudos
Highlighted
Enthusiast
Enthusiast

It looks like Linux support lags Windows support based on this:  VMware Knowledge Base

Workstation 15 support Ubuntu 19.04.  Ubuntu 20 is available.

Workstation 16 is not even listed, so perhaps it supports later Linux releases.

0 Kudos
Highlighted
Enthusiast
Enthusiast

It looks like I will want Ubuntu LTS 20.04.  It has NVIDIA drivers in the ISO.  I will have to update to Workstation 16.0 that has been tested to work with it.

One last question--

I have NAS storage where I would copy my virtual machine files accessible under my new Ubuntu install.  Are the Windows files directly compatible with Workstation 16.0 under Ubuntu?

0 Kudos
Highlighted
Immortal
Immortal

Just made the same switch recently. My Windows host cant run anything later than WS 12.* so I switched to Linux with WS 15.

The big question with Linux is to pick the version: - if you use latest version from Ubuntu and keep it updated automatically then any next update may break it.

If you pick an older version you may not get updated security patches ...

I first switched to Ubuntu 18 - and few weeks later changed to Debian 10.

Performance never was a problem - once you know the operations you better avoid: like suspending more than one VM at a time ...

Compatibilty also is not a real problem - sometimes I need to do small vmx-file edits ... nothing that is not manageable.

Do you need support with a recovery problem ? - call me via skype "sanbarrow"
Highlighted
Virtuoso
Virtuoso

NUMA should be enabled for a dual processor configuration at the host UEFI (assuming T7600 supports NUMA architecture).

Performance of VM depend largely on the VT-x capabilities of the CPU. The same VMM from VMware runs whether the the host is Linux or Windows. The virtual RAM of the VM is also managed through Intel EPT (not VMware software). Graphics capabilities depends on the host graphics card capabilities/driver. Windows hosts with Hyper-V enabled will use Windows Hypervisor Platform API (ring 3) so in this scenario it can be expected to be slower the the ring 0 VMM (be it Linux or Windows without Hyper-V). 

The Sandy Bridge CPUs don't have the INVPCID instruction (this instruction came with Haswell generation). Be it for the host OS or guest OS, this instruction is quite important in the era post Spectre/Meltdown patches to avoid blanket flushing of the CPU cache in context switch events.

There is also a difference between CPU generations in terms of VT-x are the features. Newer generations are less likely to cause VM-EXITs and cost less in terms of CPU cycles spent to transition.

You can tiptoe into Ubuntu by having dual boot. The Ubuntu installation is smart enough to let you repartition the Windows 10 partition and let them coexist. Or you could install Ubuntu on a separate storage/disk on the host.

Ubuntu can read/write NTFS.

Caveat for using Ubuntu (or any other Linux host) is the rebuilding of vmmon/vmnet that has to happen occasionally with kernel updates. These modules have also to be signed and its keys enrolled if secure boot is enabled.

https://kb.vmware.com/s/article/2146460

Highlighted
Enthusiast
Enthusiast

Thank you so much for sharing this detailed information.  This was very helpful.

I actually used to run FreeBSD in the past on an older two CPU workstation where I had to rebuild.  I am familiar with that process.  Ubuntu is so much more friendly and desktop-ready for users.  This is why I wish to switch to it as my primary.

I have a complete image backup of my system that I restore from a bootable CD (Macrium Reflect).  This is how I have been recovering from the failed Windows 10 updates.  I will try the installation a few times this coming weekend.  I can always wipe drives and start over until it is exactly the way I want.

The T7600 does support NUMA.  The Precision Workstation is Dell's top of the line.  Dell offered a BIOS update to guard against spectre, but I was not aware it reduced performance.  I am running my Windows 10 guest right now under my Windows 10 host, and it is actually responsive for the most part.  It gets slow only during certain situations.  Windows 10 is so fat and heavy, that I think Ubuntu would handle this better.  As a matter of fact, I was reading how 20.04 LTS has performance improvement made to make it even more responsive.

https://itsfoss.com/ubuntu-20-04-release-features/

0 Kudos
Highlighted
Virtuoso
Virtuoso

To be more specific, the Meltdown (CVE2017-5754) patch (which is an OS patch and not a CPU microcode firmware patch) gets into blanket clearing of CPU cache when it context switches to I/O (network or disk or both). It looks like it can still be disabled.

https://support.microsoft.com/en-us/help/4073119/protect-against-speculative-execution-side-channel-...

The dual boot suggestion is really for more transition purposes if you want to minimise downtime risk. After all, it is a work computer. Plus, you might want to retain a native Windows 10 partition for the occasional gaming you mentioned and use of DAC for audio. Whether you use separate disk or separate partition on the same disk, the Ubuntu installation will create a GRUB entry to boot the Windows partition.

The installation of Nvidia proprietary drivers will nudge/hint to enable secure boot if secure boot was not enabled at Ubuntu installation time (at least that was happened with 18.04).

0 Kudos
Highlighted
Enthusiast
Enthusiast

My initial thought was to completely wipe the drive and allocate all space to Ubuntu.  I would like to then copy my entire guest folder trees from Windows to my NAS (tar them up) then extract them to my home directory under Ubuntu.  I will probably have to edit line endings for .vmx files.  My guest has 2TB of space allocated for C:.  I can always add additional 2TB drives if needed later.  I will try connecting to DAC and gaming directly from the Windows 10 guest.  I would not suspect I run into performance issues.  I have done it in the past with my Windows 10 host.  Ubuntu is significantly lighter with resources than Windows 10, so if anything it should work out much better.

I will experiment until I find something that works well.  With my clone image back-up, reverting will take less than 1.5 hours.

0 Kudos
Highlighted
Virtuoso
Virtuoso

I have been hosting WS on Linux since version 4. I stay away from distros, like Fedora, that are bleeding edge with the kernel. I have no animosity against Fedora, just prefer Debian based distros. I have been running Mint (mate) version 20 recently (previously versions back to 15 or so), don't like Cinnamon. Old man's preference.
I am now switching to Mint LMDE (20) which is based on straight Debian (not the Ubuntu version of Debian). I had no axe to grind with the switch, just tried it in a VM and liked it. I do Windows development in VM's, about the only time I run it. Nobody in their right mind would test my software on bare hardware :). Be careful about games that require high end video, could be troublesome. I don't do games. 
I think I have hit the so called patch problem one time a few years back. I have not updated to WS 16 yet, I run Mint 20 on 14 and LMDE on 15. I run  everything on SSD's, only use hdd's for backup.
My system is a 4 or 5 year old Dell Precision, 6 cores. My OS runs on a M.2 2280 via eide adapter. Probably a waste of $60 from a performance standpoint.
We run Windows servers and W10 on ESXi (Linux). Hosted Exchange on a VM. Minimal problems on any of that. Backup of all VM's is high priority. I have helped people recover from ransomeware 3 times. No offline backup, no recovery.

Good luck with whatever you do. You should be able to solve the W10 update problem, but don't know how. I saw something like that with an older system that had a RAID controller that had no drivers in  W10. Works on W7, W10 refused to install.

Lou

-- Give a man a fish; you have fed him for today. Teach a man to use the Internet and he won't bother you for weeks, or even months unless you give him your email address.  ¯\_(ツ)_/¯
0 Kudos
Highlighted
User Moderator
User Moderator

Hi,

Yet another vote for debian.

I have run Ubuntu for 16 years and still run it on some boxes, but it has just caused too many breakage over time and I got fed up with their experiments.

Their "stable" versions are not exactly stable (my opinion).

Debian OTOH.. it keeps on trucking, upgrades to new versions tend to be a walk in the park.

Alternatively use centOS/RedHat, it is the other stable Linux distribution I can recommend (and use).

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
Highlighted
Enthusiast
Enthusiast

I may try out the latest debian too.  When I last compared debian and Ubuntu's new installation, Ubuntu was so simple and intuitive that I simply chose it at the time.  Others were suggesting debian years ago too, but Ubuntu was a piece of cake to setup at the time.  debian was more involved.  I wanted something quick to setup and play with at the time, so I chose Ubuntu.  Ubuntu, if nothing else, remains one of the easiest Linux distros to install and maintain.

0 Kudos
Highlighted
User Moderator
User Moderator

I agree that it is easy to install. They got that part covered quite well.

Less convinced of the maintain part, especially on dist upgrades, they regularly mess up things there and it can become quite messy.

To be fair they even state that you should do a fresh install on a version upgrade, but I don''t always have the time for that.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
Highlighted
Enthusiast
Enthusiast

I burned an Ubuntu 20.04 ISO to a bootable DVD and started my installation right now.  The installer just crashed due to a previously reported bug.  I am typing from Firefox from after this crash now.  I am actually not even sure how to resume.  The issue has to do with selecting third-party drivers when an NVIDIA card is present.  From what I am reading, a work-around is to disconnect from the Internet and perform the install.  I will give this a try then reconnect after the installation completes successfully.

https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1871268

I will shutdown then reboot from DVD.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Okay - it looks like my Windows 10 install issue is related to UEFI and secure boot. I chose UEFI for Ubuntu and encountered the same reboot loop issue that I did with Windows 10. I am now retrying with legacy boot instead.

I never knew secure boot was so foobar.

0 Kudos
Highlighted
Virtuoso
Virtuoso

With a GPU that has a large VRAM, it is best to go with UEFI mode than legacy BIOS mode. This is so that the 4GB MMIO addressing can be enabled. It is also better to disable the SERR message (this is me in "monkey see monkey do" mode and just follow the advice based on the text in the UEFI screen).

On a Precision 7810 firmware,

System Configuration

  Memory Map I/O above 4GB

Maintenance

  SERR Messages

  Enable SERR Messages

  This field controls the SERR message mechanism. Some graphics cards requires that the SERR message mechanism be disabled.

Secure Boot is also a separate item from UEFI (i.e. secure boot can be disabled even while using UEFI mode) in a Precision 7810.

Instead of making more coasters, you can make a bootable USB thumb drive out of an bootable ISO by using the dd command in Linux OS (perhaps in a Linux VM). With Dell machines, press F12 while the machine is powering up with the bootable USB plugged in and the boot menu will be created to allow selecting to boot from the bootable USB thumb drive.

In the movie "Saving Private Ryan", the character Corporal Upham in the movie only realised what fubar meant towards the very end. Sometimes I see on TV people use the term snafu and I wonder if they actually know what those letters stand for.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Okay -- I finally have Ubuntu installed and operational.  This install took quite some time, and I do not like my partition layout, so I will change it later.

It would have gone faster if I could have used UEFI file system.  Legacy boot does not perform a proper setup without manual fixes later.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Ubuntu is not operational with UEFI at all.  It reboot loops just like the latest Windows update does.  I think this is a bug.  My workstation does not support secure boot at all, and I think it is making secure boot calls that is causing a crash.  T7600 does not have options for secure boot or support for it.

0 Kudos
Highlighted
Enthusiast
Enthusiast

It looks like the Ubuntu install automatically enabled SMB without me having to manually compile:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   46 bits physical, 48 bits virtual
CPU(s):                          32
On-line CPU(s) list:             0-31
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       2
NUMA node(s):                    2
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           45
Model name:                      Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
Stepping:                        7
CPU MHz:                         1197.038
CPU max MHz:                     3500.0000
CPU min MHz:                     1200.0000
BogoMIPS:                        5386.75
Virtualization:                  VT-x
L1d cache:                       512 KiB
L1i cache:                       512 KiB
L2 cache:                        4 MiB
L3 cache:                        40 MiB
NUMA node0 CPU(s):               0-7,16-23
NUMA node1 CPU(s):               8-15,24-31
Vulnerability Itlb multihit:     KVM: Mitigation: Split huge pages
Vulnerability L1tf:              Mitigation; PTE Inversion; VMX conditional cach
                                 e flushes, SMT vulnerable
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled v
                                 ia prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user
                                  pointer sanitization
Vulnerability Spectre v2:        Mitigation; Full generic retpoline, IBPB condit
                                 ional, IBRS_FW, STIBP conditional, RSB filling
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtr
                                 r pge mca cmov pat pse36 clflush dts acpi mmx f
                                 xsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rd
                                 tscp lm constant_tsc arch_perfmon pebs bts rep_
                                 good nopl xtopology nonstop_tsc cpuid aperfmper
                                 f pni pclmulqdq dtes64 monitor ds_cpl vmx smx e
                                 st tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse
                                 4_2 x2apic popcnt tsc_deadline_timer aes xsave
                                 avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_sh
                                 adow vnmi flexpriority ept vpid xsaveopt dtherm
                                  ida arat pln pts md_clear flush_l1d

0 Kudos
Highlighted
Enthusiast
Enthusiast

$ dmesg

[    0.000000] microcode: microcode updated early to revision 0x71a, date = 2020-03-24

[    0.000000] Linux version 5.4.0-52-generic (buildd@lgw01-amd64-060) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020 (Ubuntu 5.4.0-52.57-generic 5.4.65)

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.4.0-52-generic root=UUID=1affa711-d571-421a-9510-3fbfdae9fff5 ro quiet splash vt.handoff=7

[    0.000000] KERNEL supported cpus:

[    0.000000]   Intel GenuineIntel

[    0.000000]   AMD AuthenticAMD

[    0.000000]   Hygon HygonGenuine

[    0.000000]   Centaur CentaurHauls

[    0.000000]   zhaoxin   Shanghai 

[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'

[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'

[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256

[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.

0 Kudos