How to improve the performance of a Ubuntu Virtual Machine running in VirtualBox

memory pressuremojaveperformancevirtualboxvirtualization

I'm using VirtualBox 6.0.4 to run a Ubuntu 18.0.4 guest on a MacBook Pro 2018 host with macOS Mojave. The MacBook host has an i7 processor and 16GB of RAM. In addition to VirtualBox, I'm running Google Chrome. According to Mac Activity Monitor, the CPU is mostly (90%) idle.

The virtual machine is too sluggish – whenever I drag a window across the screen it moves slowly, and rather than moving around the screen smoothly, it abruptly changes its location.

Currently, the Virtual Machine has the following configuration:

  • 12 GB base memory
  • 6 processors
  • Acceleration: VT-x/AMD-V, Nested Paging, KVM Paravirtualization
  • 128 MB video memory
  • 3D acceleration enabled
  • IDE Primary Master: VBox Guest Additions

I've read some suggestions here and in other forums, but I haven't found a solution that works. So far I've tried the following:

  • Installing VirtualBox Guest Additions
  • Installing VirtualBox Extension Pack
  • Increasing the base memory up to the maximum (valid)
  • Increasing the number of CPUs to 6 (from a total of 12)
  • Increasing the video memory to the maximum
  • Switching the graphics controller to VBoxVGA
  • Enabling 3D acceleration

I've read that decreasing the number of CPUs and the base memory results in better performance, but I've tried this as well (and multiple other combinations) to no avail.

Are there any settings that I should check which I haven't mentioned?

If you have found a configuration "sweet spot," I would thank you if you could point me in the correct direction.

EDIT:

Below are a few screenshots showing CPU usage and memory pressure.

CPU Usage

Memory Usage

Memory Pressure

Best Answer

I could not find a solution to my problem by using VirtualBox. After a week of trying out VMware Fusion I can say it has given me no issues. It runs smoothly and works well with my use-case. I don't see any apparent issues there in terms of how windows or other GUI elements lag.