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

My server is Core i7 Quad Core I7-860 2.8GHz, and 4 GB DDR3-1333 SDRAM How many xen could I create if each of them has 256 MB memory? How much memory should I leave to the Xen Server(1G?512MB?why?) Is there any way to optimize the xen so that they could use all the memory resource, cpu resource, and the bandwidth resource.

Is there any books, material telling how to optimize the xen ?

Thanks for all your response.

share|improve this question

migrated from Apr 14 '11 at 13:20

This question came from our site for professional and enthusiast programmers.

Aside from optimizing the VM's infrastructure, you should also using kernel and software configuration that is specifically suited for running in virtualized environment to minimize overhead.

Ubuntu has an option to install using "minimal virtual machine", that is basically using linux kernel that is optimized for many virtualization platform, such as Xen, KVM, VMWare, and Virtualbox.

Also, if your VM using many I/O operation, consider configuring it to use virtio

share|improve this answer

What I use as best practice is:

  • one domain per core;
  • minimum of 1G of memory per domain;

Remember that what you boot (dom0) is also a domain, so it's good to leave a core to it, so on a quad core machine you may run 3 other domains without problems. Memory you can pretty much spread the rest as you want between then, or you may be interested in using the balloon driver to dynamically change memory sizes during use.

You can run more than one domain (VM) per core, but depending on what type of service you are running you may end having problems with that.

There's nothing much special about bandwidth resources unless you are running really network intense applications. Also, remember to not put IO intensive operations on VMs. If you really really have to do that, don't put two IO heavy VMs on the same host. For example: if you need to put a DB on a VM ok do it, but don't put two VMs on the same host running busy IO VMs or you will kill the performance of all VMs on your host.

share|improve this answer

Your Answer


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