Nitin Mehta created CLOUDSTACK-5352: ---------------------------------------
Summary: CPU cap calculated incorrectly for VMs on XenServer hosts Key: CLOUDSTACK-5352 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5352 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Affects Versions: 4.2.0 Reporter: Nitin Mehta Priority: Critical Fix For: 4.3.0 The CPU cap assigned to VMs on XenServer hosts (via VCPUs-params parameter) is not calculated correctly. The assigned values are too low and can result in performance problems. This seems related to CPU overprovisioning. The assigned CPU cap is approximately the expected cap / CPU overprovisioning value. The customer is using CloudStack 4.2.0 with XenServer 6.1. On the customer environment they have several VMs that were created before upgrading to 4.2.0 from 3.0.6 and never rebooted, and those VMs appear to have the expected CPU cap. I see similar results on a CS 4.2.1 setup with a XS 6.2 host with 1x E31220L CPU – 2x physical cores / 4x logical cores (with hyperthreading) at 2.20GHz – 8800 MHz total (confirmed in op_host_capacity), a Compute Offering with 2200 MHz and 4 cores gives a VM with: [root@csdemo-xen2 ~]# xe vm-list params=name-label,uuid,VCPUs-params name-label=i-2-87-VM uuid ( RO) : 7cd5893e-728a-a0f3-c2cf-f3464cb8b9cb name-label ( RW): i-2-87-VM VCPUs-params (MRW): weight: 84; cap: 131 And with a Compute Offering with 2200 MHz and 1 core gives a VM with: [root@csdemo-xen2 ~]# xe vm-list params=name-label,uuid,VCPUs-params name-label=i-2-87-VM uuid ( RO) : c17cd63a-f6d5-8f76-d7f1-eb34d574e0dd name-label ( RW): i-2-87-VM VCPUs-params (MRW): weight: 84; cap: 32 The configured cap does not make sense in either example. In this environment, cpu.overprovisioning.factor is 3 for the cluster and 1 in Global Settings. In example 1 the cap should be: 2200 * 0.99 * 4 / 2200 * 100 = 396 But it is: 2200 * 0.99 * 4 / (3*2200) * 100 = 132 For example 2 it should be: 2200 * 0.99 * 1 / 2200 * 100 = 99 But it is: 2200 * 0.99 * 1 / (3*2200) * 100 -- This message was sent by Atlassian JIRA (v6.1#6144)