1

I have a quad-core computer and I'm running Linux amd64 as host OS.

I want to run 3 guest Linux systems in VirtualBox, all with only one allowed CPU core, and 80% CPU cap, maybe I'll increase cap, but not to 100%. (I'm saving one core for the host os).

All these guests are exactly same configuration, same distribution as guest os and same applications.

I'd like to do some testing with 1, 2, 3 running guests. Meanwhile, I'm trying to minimize host os workload by killing everything that's not needed.

The question is, how consistent performance will I get with my guests? I'm thinking of jumping from one core to another (this applies some overhead I guess), etc. Does it makes any sense doing performance-related tests like this? If the answer is no, do you have any advices for me? Some other solution than Virtualbox, some configuration tips, etc?

ps.: I'm currently not allowed to buy or borrow dedicated hardware. I'm trying virtualbox because (maybe!) I can run totally equal nodes for my test, and I could extrapolate the result.

3
  • 1
    "I'm thinking of jumping from one core to another (this applies some overhead I guess)" -- are you sure this is functionality VB supplies or are you just assuming? – pzkpfw May 27 '13 at 14:12
  • If you have serious performance requirements, I'd get off VirtualBox. – surfasb May 28 '13 at 5:56
  • "are you sure this is functionality VB supplies or are you just assuming" No, I'm just thinking of if the host operating system randomly moves processes between CPUs on an SMP system - that happens, afaik. – gyorgyabraham May 28 '13 at 9:35
0

I did some research, and I think I solved my problem. As you can see in the host os, all virtualbox guests are normal processes:

5643 ? Sl 15:31 /usr/lib/virtualbox/VirtualBox --comment node1 --startvm 64ea5f8a-1ad9-4c62-a7b3-7037601aa957 --no-startvm-errormsgbox 5673 ? Sl 10:29 /usr/lib/virtualbox/VirtualBox --comment node2 --startvm 9d4da376-6104-4a82-8a05-764b4fb1718b --no-startvm-errormsgbox 5703 ? Sl 10:52 /usr/lib/virtualbox/VirtualBox --comment node3 --startvm f7fc5051-67c9-4dca-80bb-5502c2bf2901 --no-startvm-errormsgbox

With schedutils, you can set the cpu affinity of certain processes (PIDs), effectively binding a given process to a core. Here are the details.

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.