Page 1 of 2
Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 8. Jun 2018, 09:53
by og1
I thought putting a Windows Server 2016 guest on virtualbox (MacOS 10.11.6, El Capitan would be very straight forward. (I've got Windows Server 2016 working perfectly on a different Linux Host using KVM, so I know Windows Server 2016 in a virtual environment works well).
But for some reason, Windows Server 2016 as a virtual guest on Virtualbox just does not run properly.
I configured everything properly for the guest VM from what I can see (and I've done a few Linux VMs on this same MacOS host and they work just fine).
As soon as I start the Windows 2016 VM on Virtualbox, I can see something is wrong with the resource use of the VM itself (the CPU utilization of the guest VM shots straight to 100% just by starting the Chrome browser (or any other program). Close Chrome and the guest CPU utilization drops back down to single digits (note, the host utilization is fine the entire time, it's just the guest VM that is useless).
I've allotted the guest two virtual CPUs (Xeon CPUs). Not be choice, but by necessity. When I do three or more virtual CPUs (i have 8 CPUs on these Xeons), the performance of the Windows Server 2016 guest gets even worse. Guest additions is installed properly. I can't see anything in terms of settings to cause this strange resource issue (as I mentioned, the LInux VMs on the same host are 100% fine).
The Windows 2016 server VM runs so slow on virtualbox, it's unusable. This can't be the way the VirtualBox people have designed things to run. I'd think Windows on VirtualBox running on a MacOS host would be a common configuration for many people and would have been thoroughly tested.
I hoping either the developers or someone with this same setup knows a trick (secret setting) that I can't see to get this Windows 2016 Server running properly on VirtualBox.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 8. Jun 2018, 12:06
by mpack
I sympathize, but unless you provide adequate diagnostics that is the most we can do.
That means a VM log: with the VM fully shut down, right click it in the GUI. Select "Show Log" and save "VBox.log" (no other file) to a zip file. Attach the zip here.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 8. Jun 2018, 19:41
by og1
Thanks for offering to help. Appreciated.
Here's the request log file. I've gone over everything multiple times now and can't see anything in terms of the standard settings that is off.
Let me know if anyone needs me to do anything to help fix this Windows Server 2016 guest VM on VirtualBox. It should be working at least as good as the Linux guest VMs on this MacOS host using Virtualbox. The Linux guest VMs are rock solid on VirtualBox, so I'm a bit disappointed that this Windows Server 2016 VM has been so problematic. I'd avoided VirtualBox for a very long time because of similar bad experiences (admittedly, long ago). But when I tried VirtualBox again (in the last six months), it looked like VB had finally arrived as an open source project. But if it only works for Linux guest VMs, then I may have to rethink my approach to use virtualization vs alternatives that I've evaluated.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 8. Jun 2018, 21:44
by og1
Some additional info. It may or may not be relevant, but I thought I should point it out. I notice on all the Linux guests running on this MacOS host using VirtualBox, that the status on the "nested paging" shows "active". The Linux VMs run great on this VirtualBox setup on the MacOS host.
But for some reason, though "nested paged" paging is in fact checked under settings. The status of "nested paging" on this very problematic Windows 2016 server guest VM is "inactive" when running.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 08:57
by socratis
- Enable 2D/3D acceleration in VM Settings » Display » Screen. Reinstall the Guest Additions (GAs) and make sure that the 3D acceleration is enabled when doing so.
- Enable PAE/NX in VM Settings » System » Processor.
Your VM is not slow, not at all. You're booting in less than 4 seconds! That's as far from "slow" as possible. If you're having issues with a specific application (Chrome), try to address that. For example disable 3D hardware acceleration from Chrome. Don't make "generalizations"...
og1 wrote:The status of "nested paging" on this very problematic Windows 2016 server guest VM is "inactive" when running.
I'm not even sure what you're referring to. Can you explain that part? If your VirtualBox interface is not in English, change that temporarily (VirtualBox preferences » Language), so that we know what setting you're talking about.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 10:52
by og1
Thanks for the help. Appreciated.
I followed you suggestions (I'd tried 2D acceleration previously and to me that seemed to make the performance worse). I enabled both the 2D and 3D acceleration and also enabled PAE/NX. Reinstalled Guest Essentials. Even with these config changes, I don't see any improvement in the in the performance of this very slow Windows 2016 guest VM. This looks a a much deeper issue with VirtualBox and Windows Server 2016 guest VMs on a MacOS host.
I can't see where this Windows Server 2016 guest VM is booting in 4 seconds. This guest Windows Server 2016 VM takes about 3 to 4 minutes to boot fully.
By comparison my Linux host server using QEMU/KVM, the Windows Server 2016 guests fully boot in probably less than 40 seconds. On this MacOS host (the host with the problematic Windows Server 2016 guest), the VirtualBox Linux guest VMs fully boot in about 1 minute (the Linux guest VMs on this VirtualBox host work fine).
If attached the log file again so you can see what's happening (also a screen capture of the CPU running near 100%). The Windows server 2016 guest VM system is extremely slow from the start. But to drive the CPU to 100% and make it unusable, all I need to do is start any standard program such as Windows Explorer, or Internet Explorer (browser), or Chrome (browser). Running a browser or the internal Windows Explorer should not drive CPU utilization to 100% if the guest VM is running properly.
I can't add in 3 or 4 CPUs hoping that will help the performance, it actually makes it much worse (2 cores, aka 2 CPUs is the limit). The Windows guest VM essentially can't start if I configure the settings for 3 or 4 CPUs (out of 8 available CPUs). Unless I'm reading things wrong, I also notice VirtualBox uses only one socket of this dual CPU Xeon system.
On the page nesting parameter, it's found under Settings->System->Acceleration->Hardware Virtualization (check or uncheck Enable Nested Paging) (which I have the parameter checked, but on the CPU status is shows "inactive" when the guest VM is running. This is different behaviour from the LInux VMs which when this parameter is checked, show the status as "active" when the Linux guest VMs are running.
Just my view, but I think this is a config (my Mac Pro host runs great, so I'm know it's not the host) that is going to require some detailed lab simulation to find out what the issue is with VirtualBox and Windows Server 2016 guest VMs on MacOS.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 11:20
by andyp73
og1 wrote:Unless I'm reading things wrong, I also notice VirtualBox uses only one socket of this dual CPU Xeon system.
Each of your
Intel Xeon E5462 processors has four cores which VirtualBox is correctly detecting:
VBox.log wrote:00:00:03.965820 CPUM: Logical host processors: 8 present, 8 max, 8 online, online mask: 00000000000000ff
00:00:03.965826 CPUM: Physical host cores: 8
og1 wrote:I can't see where this Windows Server 2016 guest VM is booting in 4 seconds.
VBox.log wrote:00:00:06.578128 VMMDev: Guest Log: BIOS: Booting from Hard Disk
Your log file says that it gets from starting the VM to booting from the virtual disk in around 4-6 seconds.
-Andy.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 11:41
by socratis
og1 wrote:This looks a a much deeper issue with VirtualBox and Windows Server 2016 guest VMs on a MacOS host.
I have a pet peeve, I'm allergic to assertions without proof. So,
please, as a personal favor, do not keep on making these assertions without any
solid proof.
og1 wrote:I can't see where this Windows Server 2016 guest VM is booting in 4 seconds.
00:00:06.565550 VMMDev: Guest Log: BIOS: Boot : bseqnr=3, bootseq=0002
The second time it was more like 7 seconds. In the first log it was more like 4 seconds.
og1 wrote:also a screen capture of the CPU running near 100%
That screenshot shows 'Chrome' as being the culprit. Did you follow my advice to disable 3D hardware acceleration from Chrome? Same goes for IE.
Show me something more solid than 3D acceleration related issues. If a 3D enabled app is slowm that
IS to be expected. And no, I don't want to start comparing it with your QEMU, I don't have it. And it's an apples to oranges comparison.
BTW, a new installation of Windows will always take CPU, I/O and network resources for a couple of days. That's normal and it happens in real systems too, until indexing and updating settles. Leave it overnight and let it do its things.
og1 wrote:but on the CPU status is shows "inactive" when the guest VM is running
That setting is *NOT* about passing VT-x to the guest. That can *NOT* happen at the moment, VT-x is not passed to the guest. And your Linux VM can't see that either, double-check at what you're looking at again...
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 14:20
by mpack
I doubt that enabling or disabling 3D acceleration is making any difference to this VM.
00:00:23.417807 VMMDev: Guest Additions capability report: (0x0 -> 0x0) seamless: no, hostWindowMapping: no, graphics: no
00:00:23.421559 VMMDev: Guest Log: VBoxMP::VBoxMpCrCtlConInit: VBoxMpCrCtlConConnectHgcm failed with rc(-2900), 3D not supported!
00:00:23.421691 VMMDev: Guest Log: VBoxMP::DriverEntry: 3D is NOT supported by the host, falling back to display-only mode..
I thought at first that the overhead could be due to the 2048Hz RTC being enabled while web browsing, the RTC is emulated and hence there must be an overhead, and this is twice what I've seen the past... but in fact my own Win10 VM does the same and seems to run ok.
AFAIK, "nested paging" is an AMD feature which can improve the performance of VMs. The equivalent Intel feature came along much later (hence I assume why the dialog uses the AMD name). The Intel feature is called Extended Page Tables and this feature does not exist in the
Xeon E5462 processor.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 15:45
by socratis
mpack wrote:00:00:23.421691 VMMDev: Guest Log: VBoxMP::DriverEntry: 3D is NOT supported by the host, falling back to display-only mode..
Good catch! That's a really interesting tidbit for a Mac to not have 3D support, at least for the basic support that VirtualBox requires. Heck, we've seen Intel integrated card meet those criteria. Looking into it...
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 9. Jun 2018, 17:53
by socratis
socratis wrote:That's a really interesting tidbit for a Mac to not have 3D support
socratis wrote:That's a really interesting tidbit for a recent Mac to not have 3D support
There, I fixed it myself!
This Mac (MacPro3,1) is from
Jan/2008, well beyond a decade. It first came with OSX 10.5.1 and is supported up to 10.11.6. The GPU (NVIDIA GeForce 8800 GT) is an old GPU, as is the "Harpertown" series Xeon E5462 (similar to Core2 Quad).
But, the message that you saw:
00:00:23.421559 VMMDev: Guest Log: VBoxMP::VBoxMpCrCtlConInit: VBoxMpCrCtlConConnectHgcm failed with rc(-2900), 3D not supported!
00:00:23.421691 VMMDev: Guest Log: VBoxMP::DriverEntry: 3D is NOT supported by the host, falling back to display-only mode.
is from when 3D acceleration was
not enabled. If you look at the 2nd log, where 3D acceleration is enabled, you see the following:
00:00:03.371848 OpenGL Info: 3D test passed
00:00:03.459406 Shared OpenGL service loaded -- 3D enabled
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 11. Jun 2018, 07:37
by og1
Thanks for the replies, I've done some more of my own experiments. Designing , building and running $B global systems is what I do. I go be the scientific method combined with my own years of dealing with vendors and complex systems and people. I've learned to go by what I myself see using a top-down method and to filter out the appropriate information.
Based on some more of my own experiments, I've realized the issue with the unusable VirtualBox Windows Server 2016 guest VM on this Mac host, though surprising, seems to have to do with the Mac Pro being the 2008 version (2008 hardware/setup seems to not work with VirtualBox current version). It's surprising that VirtualBox has issues running a Windows Server on this 2008 Mac Pro host. I created a Windows Server 2012 R2 guest VM on this same host, and the behaviour was very similar to the Windows 2016 Server VM (basically unusable).
I then created a VirtualBox Windows Server 2016 guest VM on my 2013 Mac Pro (the current Mac Pro actually, I believe the new Mac Pro is due out soon). VirtualBox was able to create the Windows Server 2016 guest VM properly. This guest VM is running almost exactly as a Windows Server VM should (not a fast a bare metal, but it works) on the 2013 Mac Pro host. It's surprising, this is the first time I've ever seen a program (VirtualBox) have issues running on the 2008 Mac Pro (I actually have always preferred the 2008 Mac Pro vs the 2013 Mac Pro, the 2008 version is a great workstation/server). All our other resource intensive programs that we use for our work run just as good on the 2008 Mac Pro as on the 2013 Mac Pro (unless there's specific OS related limitation). As I mentioned, the Linux guest VMs on the 2008 Mac Pro host with VirtualBox run OK.
I've attached the logs from the Windows Server 2012 guest VM that didn't work properly on the current version of VirtualBox on the 2008 Mac Pro host.
This was a good set of experiments to do with VirtualBox (I've got a updated read on VBox's current limitations). I'm a big fan of Linux QEMU/KVM. QEMU/KVM works great with Windows and Linux guest VMs. Most of my high-end workstations/servers (other than the Mac Pros of course) I build from scratch using high end server parts (both new and used parts). Linux virtualization has no issues when I use older high end workstation/server hardware (provided the hardware meets the minimum specs for the Linux virtualization).
I know what to do now with regards to VirtualBox's place in our stack (better information on the current limitations of VirtualBox with various host systems). Nothing further for anyone to do.
Thanks
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 11. Jun 2018, 08:40
by socratis
You seem to be fixated with the combination of VirtualBox/OSX combination. You're looking in the wrong direction. We tried to explain it to you that it's not the OS, it's your hardware. You don't want to understand it. You don't want to understand that a 10-year old processor is not adequate enough for what you want to do. The evidence is looking at you in the eyes (2008 vs 2013 computer). I have a feeling that no matter what we say, your mind is set. Fine with me, can't do too much about it...
PS. Do you really think that if you installed Windows or Linux on that computer, VirtualBox would go any faster? Just wondering...
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 11. Jun 2018, 18:29
by og1
I've designed/built workstations/servers as Linux and Windows host systems from used server hardware for a very long time. As long as the core specs (CPU, etc) meet the needs of the QEMU/KVM or Hyper-V (granted I try to avoid Microsoft at all costs, but Windows is needed for specific programs) virtualization, the Windows and Linux guest VMs on these hosts systems work as they should. In fact, the workstations/servers I design/build from scratch out of used parts outperform the very expensive new systems (Dell and HP) we buy. Again, scientific method. I go on what I see in front of me (vs what others tell me...vendors, on forums, etc).
The 2008 Mac Pro hardware is no different than the comparable used high end server parts I use for my Linux and Windows host systems. The performance limitations of the current version of VirtualBox to run Windows guest VMs on the 2008 Mac Pro configuration are important to know. I'm sure others doing similar things with their various high end workstations/servers and virtualization technology would like to know as well.
Hope this helps.
Re: Windows Server 2016 Guest on MacOS Host (So Slow, It's Unusable)
Posted: 12. Jun 2018, 01:24
by BillG
If your main concern is the performance of VirtualBox on a Mac host, why did you post in the Windows guests forum? Surely VirtualBox on Mac OS X Hosts would have been a better choice.