Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

i am having a server with 16 virtual core and 24G RAM,using Xen virtualization and ubuntu as dom0 Created 4 VMs (in para mode),each with different applications.

CPU Load vary on each vm,somtimes first vm reaches nearly 100% CPU and others under 25% or even less.

So is there a way in which vm can get cpu from other vms when they are not actually using it or utilization is under 25%.Same in the case of RAM also.

I am not sure whether i am mentioning Cloud here.

Initially i would like to give every vm a single VCPU,but can scale up to 8 or more by taking cpu from other vms if they are not using it.

Is there any kind of tool that makes vm to scale its resources when demand increases.

Is cloudstack and openstack designed for these kind of purpose or is that just a GUI to manage VMs.

share|improve this question

This depends on your application's architecture and ability to scale. Ideally, you could scale with nodes behind a load-balancer of some sort.

As is, it sounds like you have a an application stack that doesn't scale horizontally. The hypervisor solution already in place will prioritize resources as they're requested. Idle VMs are of a lower priority than more resource-intensive VM's.

As far as adding virtual CPU's as needed, I don't think that will be possible in your setup.

share|improve this answer
hey @ewwhite in the above case,if user is running a webserver on vm1 with single vcpu and a benchmark on that vm which is more CPU bound,is there a way that makes the VM1 to scale to the requrd CPU. – ananthan Sep 29 '12 at 12:28
@ananthan I would set the VM to have multiple vCPU's, and oversubscribe the host's resources. But for web load, a load balancer and multiple VM's are going to be a better solution if the application allows for it. – ewwhite Sep 29 '12 at 12:31
is it possible to make virtualization to scale like IAAS? – ananthan Sep 29 '12 at 12:43

There isn't a way to dynamically add processors to a running vm.

Instead, you should take advantage of over-subscription.Assign the processors now. You can assign more processors to your vm's then you have physical processors. The hypervisor will split the load based on its own internal rules.

share|improve this answer
how actually does this iaas scale?? if its not possible to add cpu dynamically.I belive in para virt mode we can simply add ram and cpu with out restarting vms. – Kevin Parker Sep 29 '12 at 12:48

Citrix Xenserver has workload balancer and Dynamic Memory management feature with it,which can help in sharing resources.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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