How to determine what Dom-0 vcpu configuration to use
Hi,
We have installed an Oracle VM environment on a single server with 36gb of ram and 16 Intel(R) Xeon(R) CPU. This server runs 3 VMs (2 redhat pvm, 1 windows hvm) and we're not planning to run anymore vms in the foreseeable future.
[root@host ~]# xm list
Name ID Mem VCPUs State Time(s)
vm01-win 15 16384 6 -b---- 738.3
vm02-red 16 12288 6 -b---- 867.7
Domain-0 0 574 16 r----- 17473.1
vm03-red 7 2048 1 -b---- 5406.9
[root@host ~]# xm info
host : host
release : 2.6.18-128.2.1.4.25.el5xen
version : #1 SMP Tue Mar 23 12:43:27 EDT 2010
machine : i686
nr_cpus : 16
nr_nodes : 1
cores_per_socket : 4
threads_per_core : 2
cpu_mhz : 2665
hw_caps : bfebfbff:2c100800:00000000:00000740:029ee3ff:00000000:00000001:00000000
virt_caps : hvm
total_memory : 36853
free_memory : 4906
node_to_cpu : node0:0-15
node_to_memory : node0:4906
xen_major : 3
xen_minor : 4
xen_extra : .0
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xfd800000
xen_changeset : unavailable
cc_compiler : gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)
cc_compile_by : mockbuild
cc_compile_domain : (none)
cc_compile_date : Wed Mar 24 16:00:43 EDT 2010
xend_config_format : 4
We're not having very good results with the Windows vm, its performance is very slow even though we installed the paravirtualized drivers. Using the xm list we can see that dom-0 uses 16 vcpu's. I know that this is the default configuration of oracle vm server, but i couldn't find information either on metalink or the forums about what should we do with it. For what i read in the oracle documentation, this would cause the physical cpus to be over-commited to almost double of the amount of physical cpus in our case.
+"Number of Virtual CPUs: Select the number of virtual CPUs for the virtual machine according to the operating system and application consumptions. You can allocate a maximum of 32 virtual CPUs. The larger number you select, the more CPU resources the virtual machine can use.+
+If the sum of virtual CPUs on all the running virtual machines exceeds that of physical CPUs, each virtual CPU will get that fraction of CPU time. For example, if the sum of virtual CPUs on all the running virtual machines is 8, and you have 4 physical CPUs on the Virtual Machine Server, then each virtual CPU will get 4/8, namely 50%, of CPU time, given that all the virtual CPUs are fully utilized at the same time"+
We're wondering if this could be part of the performance problems we are having. I know that editing the dom0-cpus entry on /etc/xen/xend-config.sxp file on the vm server changes the default configuration, but couldn't find a document or link that tells me what are the risks of changing this behavior, or in which cases this is recommended, it really seems odd to me that by default dom-0 already uses the same amount of vcpu's that physical cpu.
# In SMP system, dom0 will use dom0-cpus # of CPUS
# If dom0-cpus = 0, dom0 will take all cpus available
(dom0-cpus 0)
I need to find out which would be the optimal assignation of resources, having in consideration that we need to maintain vms 1 and 2 with 6 vcpu each, Does anyone now where can i find documentation about this? or have you tried to change this setting on dom-0?
Thanks!