So I want to start using Ubuntu, but I don't want to install it, but rather use it inside VirtualBox. I already have Ubuntu installed that way, but I want to get the most out of it and I'm not sure how can I do it (amount of RAM and stuff like that). I would like your advice for doing this and also integrating the virtual machine with my Windows archives.

I have 16Gb of RAM, Intel Core i7-6700 3.40GHz, a 250Gb SSD and 4Tb HDD.

  • Advice: Install an Ubuntu guest using the default settings. You can change the settings later, if needed. Not sure what you mean by your 'Windows archives' – user535733 Mar 25 '17 at 21:41
  • See your VM to use 2 CPUs, and 2048 RAM, and it should fly. – heynnema Mar 25 '17 at 23:51

When running Ubuntu in a virtual machine there is always a performance drop due to virtualization.

  • This has considerably improved with modern CPUs that can help with hardware optimized virtualization (VT-x for Intel). This needs to be enabled in the host BIOS, not only to be able to run a 64-bit guest but also for performance.

  • Like on bare metal all hard drive read and write access is much faster on an SSD than on a conventional hard drive. But you may not need all space on that SSD. Consider to split you installation on two virtual disks (VDI) where a smaller VDI holding the OS is on the SSD but the HOME directory is on a second VDI on the conventional hard drive. Make the VDIs dynamically growing for the least real space needed.

  • Install the guest additions in your guest to take advantage of the host hardware graphics acceleration.

Settings for CPU cores or RAM can be changed any time later after installation. It can be adapted on demand, depending on the tasks we wish to perform in the guest, or the tasks we still need to perform in the host.

As a rule of thumb use about half of the RAM, and half of the CPU cores for the guest. If you use more RAM for the guest leave enough RAM for the host OS to be able to still operate smoothly without swapping (at least 2 better 4 GB for Windows). If you use all CPU cores for the guest you should define an execution cap to leave some power to the host.

For more tweaks in case of weaker hardware see:

  • Perhaps a dumb question by why can't the number of cores be dynamically allocated depending on which OS has most activity. For example I might be gaming in Windows and want 7 of 8 cores, then end the game and toggle over to Ubuntu to post comments in AU, run some bash scripts, etc for a few hours. At that point I want Ubuntu to have 7 of 8 cores and windows (which is doing nothing) to have 1 out of 8 cores. That said I only have 8GB of RAM so if can't be dynamically allocated do you recommend upgrading to 16 GB? +1 for your answer as is. – WinEunuuchs2Unix Mar 25 '17 at 23:15
  • @WinEunuuchs2Unix We can manually hot-plug a CPU (core) during runtime which I believe is a pretty neat feature but it can't be done automatically. I sucessfully tested that on an Ubuntu/Ubuntu system but I doubt that a desktop WIndows can cope with such a "dramatic" change in hardware ;) – Takkat Mar 26 '17 at 8:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.