VMware Cloud Community
RS_1
Enthusiast
Enthusiast
Jump to solution

TPS performance with vMMU (RVI)

Hi Guys,

I was playing around with vMMU and i discovered that it's possible to hot switch between swMMU and hwMMU with vMotion ! I guess it's because of the "new" VMM created on the destination server. I joined the memory graph of the 2 VMHosts (ESXi 4.0 U1 lastest build) during the vMotion (30 VM) to clearly compare :

!http://hypervisor.free.fr/img/vMMU_vMotion.jpg!

As you can see, the TPS does not perform as well with hwMMU (because of the large pages) but can someone tell me why it works anyway ?

BTW the automatic setting on W2K3 guest act as swMMU whereas the VMM whitepaper clearly tell the opposite, i heard about this bug in ESX(i) 3.5 but not in ESX(i) 4.0 U1

0 Kudos
1 Solution

Accepted Solutions
Halesh
VMware Employee
VMware Employee
Jump to solution

If you are booting up windows and after that your doing vMotion, the graph showing page sharing under hwVmmu is still valid because vmmu will share all pages(zero), which are zeroed by windows guest at boot time even on NPT/EPT servers(in your case also).

On swVMMU side its known behaviour, the same zero page might be still sharing on destination host.

Thanks.

View solution in original post

0 Kudos
8 Replies
Halesh
VMware Employee
VMware Employee
Jump to solution

> As you can see, the TPS does not perform as well with hwMMU (because of the large pages)

> but can someone tell me why it works anyway ?

Can you please confirm "HV Settings: virtual exec" value in vmware.log, wether its set to 'software' or 'hardware' in SOURCE host.

Are you sure the source host pages are backed up as large pages ? Then TPS will not initiate. I think large pages are not getting backed up on SOURCE hence you are observing TPS.

Thanks.

0 Kudos
RS_1
Enthusiast
Enthusiast
Jump to solution

Before VM are powered on :

$spec.flags.VirtualMMuUsage = "on"

$spec.flags.virtualExecUsage = "hvon"

Before vmotion :

$spec.flags.VirtualMMuUsage = "off"

$spec.flags.virtualExecUsage = "hvoff"

BTW, i was able to reproduce this from destination host to source host

How can i know if pages are backed up with TPS ?

0 Kudos
Halesh
VMware Employee
VMware Employee
Jump to solution

Before VM are powered on :

$spec.flags.VirtualMMuUsage = "on"

$spec.flags.virtualExecUsage = "hvon"

Before vmotion :

$spec.flags.VirtualMMuUsage = "off"

$spec.flags.virtualExecUsage = "hvoff"

Can you provide the CPU hardware details will be helpful.

Thanks.

0 Kudos
RS_1
Enthusiast
Enthusiast
Jump to solution

Vendor : IBM

Model : BladeCenter LS42 -[79023LG]-

MemorySize : 38650032128

CpuModel : Quad-Core AMD Opteron(tm) Processor 8376 HE

CpuMhz : 2300

NumCpuPkgs : 4

NumCpuCores : 16

NumCpuThreads : 16

On both hosts.

Tthe vMMU "hot switching" is not an expected feature ?

Can you explain me the TPS behavior ?

Thanks

0 Kudos
Halesh
VMware Employee
VMware Employee
Jump to solution

If you are booting up windows and after that your doing vMotion, the graph showing page sharing under hwVmmu is still valid because vmmu will share all pages(zero), which are zeroed by windows guest at boot time even on NPT/EPT servers(in your case also).

On swVMMU side its known behaviour, the same zero page might be still sharing on destination host.

Thanks.

0 Kudos
RS_1
Enthusiast
Enthusiast
Jump to solution

Thanks, that explain the small shared common value Smiley Happy

About the vMMU, is it a supported method ?

0 Kudos
Halesh
VMware Employee
VMware Employee
Jump to solution

About the vMMU, is it a supported method ?

For VMotion we need common CPUs across source & destination. But as you said during vmotion, vMMU worlds are restarted/newly created on destination this might be supporting.

Thanks.

RS_1
Enthusiast
Enthusiast
Jump to solution

Thanks for your help !

0 Kudos