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)