Virtualbox Macos Very Slow



In this article, I’m going to show you how to fix slow macOS Big Sur Performance on Windows and other platforms. When you install macOS Big Sur on VMware or VirtualBox or any other virtualization platform, you’ll see that macOS Runs so slow and you can’t eventually do anything because it’s extremely slow. So in this guide, I’ll give some tips and tricks to come up with a great performance with any version of Mac Operating Systems. Let’s get the ball rolling.

Related: Install macOS Big Sur on VMware

Fix macOS Big Sur Slow Performance in General

My virtual box is really slow and I cannot figure this out. I am on Mac OS Catalina. My ultimate goal is to run Age of Mythology on my mac so if you know another way I'd be glad. Thank you for your help!:) OS: Windows 10 - 64 bits base Memory: 4096MB. Video memory:256MB Graphic. The solution is to turn off Hyper-V when not required, e.g. For gaming or when using VirtualBox. You can’t have it both ways and have Hyper-V and VirtualBox running simultaneously. I have attached another log with the 'double RAM' use. Host macOS 10.15.6, VirtualBox 6.1.12, guest Win10 x64, 3GB RAM (consumes over 6G). If I configure the VM available memory to 4G (50% system memory), the host slows down and eventually locks up, causes it to reboot. Very slow = A lot of minutes (30 min) to just boot, some hours to do a clean power off, etc BSOD = Not reach desktop, just freeze or BSOD and auto-reboot. It happens only with Windows 10 guest, i had tried with and old WinXP guest i had and such worked perfectly on both hosts (i can move the WinXP guest form Intel to AMD back and forth without.

Once, you’ve installed macOS Big Sur or any other versions of macOS on your system. You’ll see that your macOS is very slow and you’re not able to do your work as smoothly as you wished to do. Now, I’ll show you some general performance tips that might help you to speed up your macOS.

#1. Check Compatibility Issue

First, you need to check if your system is compatible with macOS new version or No. If you’re not sure that your device is compatible with the latest version of macOS then check the following system compatibility lists.

Macs compatible with macOS Big Sur – macOS 11:

  • 2015 and later MacBook
  • 2013 and later MacBook Air
  • Late 2013 and later MacBook Pro
  • 2014 and later iMac
  • 2017 and later iMac Pro
  • 2014 and later Mac mini
  • 2013 and later Mac Pro

And Accordingly, the following models capable of running macOS Catalina will not be able to be upgraded to macOS Big Sur:

  • 2012 and Early 2013 MacBook Pro
  • 2012 MacBook Air
  • 2012 and 2013 iMac
  • 2012 Mac mini

If you need to see more about the compatibility list head over to Apple support.

#2. Update your macOS to the Latest Version

If your system is compatible with macOS latest version, you should upgrade to the latest version. Because the latest version is most often better than previous versions due to bug and performance fixes.

#3. Quit Starting Applications

When you start your Mac, a lot of things load up in the background. Not only do they slow down your startup, but they continue to do so the whole time you’re on your Mac device.

You can get a fast macOS startup by removing unnecessary apps. To turn off Login Items go to your System Preferences > Users & Groups and then click on your username. Now, click on Login Items, click on the name of an application you don’t need to launch during startup, and then click the “-“ symbol located below the list to the left; this will remove the application from the list. The fewer applications on the list, the better. This should help out a ton with speeding up your slow macOS.

#4. Stop Background Running Apps

When you’ve got too many running applications in the background, your macOS can’t even handle simple tasks that cause slow performance. If you want to have speed macOS then you need to stop and quit background running apps.

Activity Monitor will show you what processes are using up your system resources. Quitting an unnecessary app that’s taking up a lot of processing power could make a huge difference in speeding up your slow Mac. Open up your Applications folder and then your Utility folder. Here you’ll find the Activity Monitor, open it. Check out the list of apps and processes that happening on your Mac system in real-time.

From here, you can see what’s causing trouble with your Mac. Click on the Memory tab at the top, then the Memory filter at the top of the list; this sorts the programs by the amount of space they’re taking up on your Mac RAM. The higher the number, the more power they need. Stop an app from operating by clicking on the app in the list and then clicking the gray “x” icon located at the top-left corner of the window. Don’t remove anything you don’t know!

#5. Uninstall Unused Apps

Windows

Virtualbox Macos Very Slow Motion

Most of us download applications that seem helpful and exciting at first but turn to clutter up our disk instead of being used frequently. Unused apps are the biggest space-wasters on our system. So to get rid of those or at least honestly tell yourself which ones you don’t use anymore.

  • Go to Finder and navigate to the Go menu.
  • From the drop-down list, select Applications.
  • You will see all applications installed on your system.
  • Right-click on the app that you don’t normally use it. Select Move to Bin or Trush.

Uninstall Unused Apps

#6. Remove Outdated Cached & Junk Files

There are various types of cached files on your system such as; system cache, user cache, app-generated cache, and more. These cache files are one of the cause that slow down you macOS so you should remove these files frequently. To remove cached files, follow the steps below.

Note: This step can be risky because you might delete not outdated files so be gentle with deleting the files. At least take a backup of the file you’re trying to permanently delete. Just in case something went wrong, you should have the backup to replace it with the corrupted folder.

Virtualbox Macos Very Slow
  • Open Finder and click “Go to Folder” in the Go menu.
  • Type in /Library/Caches and press Enter or click Go
  • Locate a cache folder tree
  • Go into each folder and delete its contents
  • Empty the Trash bin

This slideshow requires JavaScript.

#7. Clean your macOS with CleanMyMac X

Clean my Mac X is a well know software that has been in the industry for quiet time and one of the most used applications for Mac Users. It’s a great software for cleaning and speeds up macOS dramatically. According to MacPaw which is the software owner says CleanMyMac X chases junk in all corners of your macOS. It cleans unneeded files, like outdated caches, broken downloads, logs, and useless localizations. You can remove tons of clutter that lurks in iTunes, Mail, Photos, and even locate gigabytes of large hidden files. Mac cleaning tools in CleanMyMac X will cut the extra weight in seconds.

Fix macOS slow performance on VMware or VirtualBox on Windows

As you might know that you are able to install macOS on VMware or VirtualBox on Windows PC as well. So if you’ve already installed and having issues with its performance so you can apply the above steps outlined. In addition, you can do the following steps;

Related: Install macOS Big Sur on VirtualBox on Windows

Note: The following research has been done by one of our website visitors (Jordan Van Bergen). The following steps might not be helpful for those who using Windows Hyper as their virtualization software.

After getting it to work with VMWare I tried booting my Catalina version on Virtualbox but this really doesn’t start at all and is very slow as well. I have the Windows10 May Update. Windows 10 – Version 2004 OS Build 19041.329

So it could well be that everything depending on VirtualBox doesn’t work as it should due to the Windows 10 may update. BlueStacks Android emulator doesn’t work any longer as well due to the May Update.

So I found this as well: https://dev.to/bobnadler/virtualbox-6-1-x-windows-10-2004-upgrade-problem-resolution-4i39

So a lot is not functioning 100% after Windows 10 – Version 2004 OS Build 19041.329 with VirtualBox.

I had to do this: It’s due to the Windows 10 Version 2004 May Update! If you do the following as long as you have the same issues then it will work again:

#1. Navigate to Control panel -> Programs and Features -> Turn Windows Features on or off -> Uncheck Hyper-V and Windows Hyper-Visor Platform.

Uncheck Windows Hyper-V

Additional Notes for Windows Hosts

#2. To check the status of Hyper-v in Windows 10. Open Run and type OptionalFeatures.exe. Look for the “Hyper-V” option. The box should be empty, not checked, or shaded. If you want to be absolutely sure that Hyper-v is gone then open an administrator command console and type “bcdedit /set hypervisorlaunchtype off”. Make sure to fully power down and reboot the host after changing the Hyper-v setting.

#3. On some Windows hosts with an EFI BIOS, DeviceGuard or CredentialGuard may be activated by default and interferes with OS-level virtualization apps in the same way that Hyper-v does. These features need to be disabled. On Pro versions of Windows, you can do this using gpedit.msc. Set Local Computer Policy > Computer Configuration > Administrative Templates > System > Device Guard. Turn on Virtualization Based Security to Disabled. CredentialGuard is a subset of DeviceGuard, so disabling the former should be enough. If you cannot use gpedit for some reason then the equivalent registry hack is to find the key HKLM|SYSTEM|CurrentControlSet|Control|DeviceGuard|EnableVirtualizationBasedSecurity|Enabled and set it to 0.

#4. On Win10 hosts, check Windows Defender > Device Security > Core Isolation Details and make sure settings in this panel are turned off. Reboot the host from power down if you needed to make changes. “Core isolation [includes] security features available on your device that use virtualization-based security” which is why they can interfere with VirtualBox.

Summary

In this post, I’ve covered some best tips and tricks to speed up slow macOS performance. I’ve covered the following tips.

  • Check Compatibility Issue
  • Update your macOS to the Latest Version
  • Quit Starting Applications
  • Stop Background Running Apps
  • Uninstall Unused Apps
  • Remove Outdated Cached Files
  • Clean your macOS with CleanMyMac X
  • Fix macOS slow performance on VMware or VirtualBox on Windows

If you have any better solution rather than the one outlined above, feel free to share in the comment section below this post.

This article explains in detail how you can vastly improve performance of VirtualBox on latest generation Multi Core processors, by tuning VirtualBox and system settings to ensure correct operation and overcoming compatibility issues.

VirtualBox sluggish performance on hyper-threading multi-core Intel Haswell, IvyBridge, SandyBridge

Low performance issue

Mac Os For Virtualbox Image

Running a development environment inside a VirtualBox Debian, for serving Magento with NGiNX revealed a tremenduous slow performance when VirtualBox was configured to use more than one core, as any enthusiast with a multi-core recent generation CPU would intend to set it.

Test bench machine configuration

The test machine was equipped with an i7-4500U procesoor, which has 2 physical cores, each with 2 threads (pseudo cores), totalling 4 execution threads.
Guest OS – Debian 7/NGiNX/Magento/+

Test bench results

Requesting a simple phpinfo() page responds and loads almost instantly, but requesting a Magento backend page was taking at least 5 seconds and sometimes going until max execution time of 30 seconds was exceeding. Performance and consistency was so bad that it could not be used.

Down to the “core” of the VirtualBox Performance Issues

As the subtitle says, the core of the problem are really the cores allocation of the physical CPU to VirtualBox. The pseudocores / threads enabled by Intel HyperThreading are not advertised as not being real CPU cores and this is confusing VirtualBox when allocating CPU cores.

The Intel Core i7-4500U for example, has 2 physical cores and 4 threads total, meaning each physical core can run 2 threads with the aid of HyperThreading technology. The problem is that a thread is like an extra hand of the core, but is not having the same physical resource as a real core.

More worse, VirtualBox leaves the first two cores for the host OS, which in Windows 7/8 are the real CPU cores, and allocates the next cores to the virtual machine, which, guess what, are the virtual threads.

Virtual Threads offered by HyperThreading are

Test this yourself scenario

  1. Run VirtualBox under Windows 7/8, on a “2 core / 4 threads” processor, and allocate 2 cores to the virtual machine in Settings/System/Processor.
  2. Start the Guest OS virtual machine with some continuosly running task, prefferably something demanding to see the impact of the better settings later
  3. Go to Windows Task Manager/Processes in host OS, look for the VirtualBox.exe process that seems to be the virtual machine (you’ll find two of them, one for the Manager and one for the Machine), Right-click and select Set Affinity..
  4. Disable cores 3rd and 4th and you’ll see that the guest machine locks up
  5. Disable cores one by one and check how functionality/performance is impacted
  6. NOW Shutdown the guest machine and go to Settings/System/Processor, and allocate only one core to the virtual machine
  7. Check for vastly improved performance
  8. Repeat steps 3-6 and check performance
VirtualBox CPU Core Performance Tuning

Solution and Tips for Improving performance of VirtualBox

Main Fix

  1. Disable Hyper-Threading in machine BIOS if allowed
    • Hint 1: Some laptops, for example ASUS brand, have custom BIOS versions that limit user access to this setting (usually found in the Advanced menu) – HyperThreading can only be disabled by BIOS as it’s a hardware feature)
  2. VirtualBox – go to Settings/System/Processor and set equal number of cores for host and guest, as now you’re seeing only the real cores

Workaround if HyperThreading setting is not accessible

  1. VirtualBox – go to Settings/System/Processor and allocate only 1 core to Guest machine. Hopefully, VirtualBox will choose the next core that Windows host OS offers, which will be a real core.

Workaround 2

  1. Check/Set Processor Affinity each time for the VirtualBox.exe process of the virtual machine, to ensure it is running on a physical core

Tips for maximising performance of the whole system

Other VirtualBox fine-tuning settings for the machine, which worked for me:

  1. System/Motherboard/Chipset: ICH9
  2. System/Processor/Execution Cap: 100%
  3. System/Acceleration: Enable VT-x/AMD-v, Enable Nested Paging
  4. Storage/Controller:SATA/Solid State Drive checked

Don’t forget to also max out the performance of your hardware machine, if it is a portable computer:

  • Select High Performance profile in Power Options
  • Customise High Performance profile in Power Options, setting Minimum processor state to 100%

Test bench results after addressing mentioned VirtualBox performance issues

Performance is consistent and predictable, with page loads of uncached Magento backend around 4-5 seconds.

Virtualbox macos very slow release

More exact explanations

vCPUs are tied directly to physical cores, but no specifically to 1 core. If you create a VM with 1 vCPU, then you are allocating 1 physical core to that VM whenever it needs to process something. In sticking with our example, this means that you can in theory create 8 single vCPU VMs and never have any resource contention between the VMs. Once you start treking into multi-vCPU VMs, this is where you start running into problems. VMs with multiple vCPUs require that all allocated cores be free before processing can begin. This means, if you have a 2 vCPU machine, 2 physical cores must be available, and a 4 vCPU requires 4 physical cores, etc.

adding more cores would have the potential to make a VM slower. The reason being, virtualbox’s CPU scheduler has to schedule access to a core for the VM and has to allocate all cores assigned to the vm at the same time.

So for example lets use the 4 cores (not going into the physical vs. logical core issue). Let’s say you have 4 cores. First off you’re running Ubuntu and Virtualbox which is of course using various processes. If between the linux OS and virtualbox say 2 cores are always in use with a third used occasionally. Now you have a VM (winxp win7 doesn’t matter) and it has 2 cores assigned. The VM must wait until 2 cores are available before it can process anything and I do mean ANYTHING. Launching a program, responding to keyboard/mouse input, anything. So in this setup anytime your actual system (Ubuntu and VirtualBox) is using over 2 cores your VM must wait, and wait, and wait. This waiting time is called “CPU Ready” time. Lots of info online about CPU Ready times.

Install Mac Os On Virtualbox

… the best practice is to make the VM as lean as possible. Start at 1 cpu/core and increase only if necessary. If your VM boot time is faster with 1 core, then your system doesn’t have the available resources to schedule more in a timely manner, since all of the assigned cores must be available at the same time. Sometimes you can get away with over-provisioning other resources to a vm, such as RAM, and not suffer such a performance hit, but not vCPUs.

Sources:

  • http://www.reddit.com/r/linux/comments/1tqlsz/adding_cpus_to_virtualbox_guests_makes_guests/
  • http://www.reddit.com/r/linux/comments/1tqlsz/adding_cpus_to_virtualbox_guests_makes_guests/ceajd1d

CPU Ready is:

Virtualbox Osx Running Slow

The amount of time a virtual machine waits in the queue in a ready-to-run state before it can be scheduled on a CPU.

This means that a VM is ready to process something, however, it has to wait because the CPU resources it requires are not available on the physical host.

Source: http://virtualblocks.wordpress.com/2010/06/22/cpu-ready-over-built-vm-or-over-utilized-host/

Further testing

To determine if issues are caused by cpu ready times, I’ve made the following new test, on a new machine:

Test System

  • Intel i7-4710MQ (4 cores, 8 total threads)
  • Windows 7 host system
  • VirtualBOX 4.3.10
  • Debian7 with NGINX

4 CPUs allocated

Test results show loading time of a Magento page:

First refreshSecond refreshThird refresh, while repeatedly opening and closing start menu on host (Windows) OS

It can be easily seen, that keeping the host OS doing an extra task, just as simple as opening and closing the start menu many times, while the guest OS was serving the page, caused an extra wait time of more than 1 second. This confirm that the issue is related to CPU Ready times.

1 CPU allocated

Single core allocated to the VM shows vastly improved page load performance, stable between refreshes, not impacted by light host cpu load (like opening start menu).

There was also no performance impact between I/O APIC and Chipset settings.

I/O APIC and Chipset settings of VirtualBox

I/O APIC

From VirtualBox documentation:

Enable I/O APIC

Advanced Programmable Interrupt Controllers (APICs) are a newer x86 hardware feature that have replaced old-style Programmable Interrupt Controllers (PICs) in recent years. With an I/O APIC, operating systems can use more than 16 interrupt requests (IRQs) and therefore avoid IRQ sharing for improved reliability.

Note: Enabling the I/O APIC is required for 64-bit guest operating systems, especially Windows Vista; it is also required if you want to use more than one virtual CPU in a virtual machine.

However, software support for I/O APICs has been unreliable with some operating systems other than Windows. Also, the use of an I/O APIC slightly increases the overhead of virtualization and therefore slows down the guest OS a little.

Warning: All Windows operating systems starting with Windows 2000 install different kernels depending on whether an I/O APIC is available. As with ACPI, the I/O APIC therefore must not be turned off after installation of a Windows guest OS. Turning it on after installation will have no effect however.

In addition, you can turn off the Advanced Configuration and Power Interface (ACPI) which VirtualBox presents to the guest operating system by default. ACPI is the current industry standard to allow operating systems to recognize hardware, configure motherboards and other devices and manage power. As all modern PCs contain this feature and Windows and Linux have been supporting it for years, it is also enabled by default in VirtualBox. It can be turned off on the command line; e see the section called “VBoxManage modifyvm”.

Virtualbox Macos Very Slow Release

Category: Software Tips2 Comments

Related posts

Hackintosh macOS tools