Why Performance Gathering inside VM is meaningless?

Why Performance Gathering inside VM is meaningless?

  • Objectives : I have to prove that Virtualized conventional OS performance monitoring not working on VMware ESX.I am going to recommend vCenter Performance Chart as standard performance monitoring.

  • Goal : Inside Virtual Machine, Performance Gathering is Meaningless, Why it is meaningless?
    Let Me Simulate This.
    According to "Managing Virtualized Systems - APM experts Apr08.pdf" documents.
    First, Every Performance Metric is based on System Time (Clock Generator) and the clock's owernership no longer belong to OS, it is now belong to Hypervisor or virtualization Layer. I am going to simulate this, if you come up with new idea of proving this then would you please tell me. If there is flaw on this please let me know.

Boundary conditions

  • 1. I have recently installed ESX4 on Quad Core with 1 Sockets Hardware.

  • 2. Now I have 3 Virtual machine, one 2 vCPU Linux(VM1) and 4 vCPU windows 2003(VM2),4 vCPU OpenSystem.

  • 3. Just for simplification, let just assume virtualization Layer sample period is 20 sec.

  • 4. Other Parameters not considered for instance hyperthreading, descheduled, time catch up.

  • 5. Conventional OS must processing idle process, but idle process is not counted as a job.

  • 6. CPU Speed 1hz

  • 7. 1hz = 1 cycle / 1 sec

  • 8. CPU USAGE Is from just counting Cell box.

Time

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Processor NO.

0

1

2

 

 

2

2

2

3

3

3

1

2

2

3

3

3

 

 

2

3

Processor NO.

1

1

2

 

 

2

2

2

3

3

3

1

2

2

3

3

3

 

 

2

3

Processor NO.

2

 

2

1

1

2

2

2

3

3

3

2

2

3

3

3

1

1

2

3

Processor NO.

3

 

2

1

1

2

2

2

3

3

3

2

2

3

3

3

1

1

2

3

Sampling Unit Time is 20 Sec

Performance Monitoring on Hypervisor

VM1 Usage 12 30% 12/40

VM2 Usage 28 35% 28/80

VM3 Usage 28 35% 28/80

Assuming VM's OS Only Count idle Process and System Clock counts when they can(Hypervisor assignment).

i = Idle , j = Job

vCPU0

vm1-0

j

 

i

i

 

 

 

 

 

 

i

 

 

 

 

 

j

j

 

 

vCPU1

vm1-1

j

 

i

i

 

 

 

 

 

 

i

 

 

 

 

 

j

j

 

 

Performance Monitoring inside VM.

Inside VM1 50%

Inside Virtual Machine, OS reports 50% of CPU usage and Hypervisor reports only 30% of Usage, Out side box is very low.

vCPU0

vm2-0

j

i

i

i

i

i

i

vCPU1

vm2-1

 

j

 

 

i

i

i

 

 

 

 

i

i

 

 

 

 

 

i

 

vCPU2

vm2-2

 

j

 

 

i

i

i

 

 

 

 

i

i

 

 

 

 

 

i

 

vCPU3

vm2-3

 

j

 

 

i

i

i

 

 

 

 

i

i

 

 

 

 

 

i

 

Inside VM2 Usage is 14%

Inside Virtual machine, OS reports 14% of CPU usage and Hypervisor reports 35% of Usage, Out side box is ver high.

vCPU0

vm3-0

 

 

 

 

 

 

 

j

j

j

 

 

 

j

j

j

 

 

 

j

vCPU1

vm3-1

 

 

 

 

 

 

 

j

j

j

 

 

 

j

j

j

 

 

 

j

vCPU2

vm3-2

 

 

 

 

 

 

 

j

j

j

 

 

 

j

j

j

 

 

 

j

vCPU3

vm3-3

 

 

 

 

 

 

 

j

j

j

 

 

 

j

j

j

 

 

 

j

Inside VM3 100%

Virtual Machine is Very Busy.

VM reports 100% Usage but Hypervisor shows 35% of CPU Usage.

******Conclusion.

In this simulation I have concluded that inside virtual machine, performance monitoring not working.

What if my assumtion is wrong? Um. What about posting this to VMware Community site, they will notify me.

REF: Managing Virtualized Systems - APM experts Apr08.pdf

Attachments
Comments

Any Comment Will be Welcomed Very Very Much.

Obviously performance and vitrualiztion are important considerations, are you reviewing the monitor because you are having performance issues?

Yeah. And Customer really want to know it too.

Hi,

What are the metrics and threshold to be considered when analysing using the vCenter performance charts?

REgards

ameen

Version history
Revision #:
1 of 1
Last update:
‎05-05-2010 08:21 AM
Updated by: