This kind of strange name is simple to explain, but some people might not know about it. Hence this post. In this post, we will talk about What Are VMware Virtual CPU Performance Monitoring Counters (vPMCs).
This feature can be enabled on a per-VM basis (by editing a virtual hardware of a VM) and allows the application installed within the VM to be optimized or debugged as those counters allow more precise identification of eventual CPU performance.
Quote from VMware:
CPU Performance Monitoring Counters (PMCs) provide a way for software to monitor and measure processor performance. These counters are commonly used by tools such as software profilers. Beginning with virtual machines that have ESX 5.1 and later compatibility (hardware version 9), you can enable the virtual performance monitoring counters (vPMCs) feature to allow software running on virtual machines to access this performance information, just as it would when running on a physical machine.
Where to Enable VMware Virtual CPU Performance Monitoring Counters?
You can use vSphere Web client where you Select your VM > Edit Settings > Expand CPU > Performance Counters Checkbox > OK to validate.
Virtual Hardware 9 – VM's virtual hardware has to be 9 or higher (vSphere 5.1 and higher)
Intel Nehalem and higher
Intel VT-x or AMD-V Enabled
Required Priviledges – Virtual machine > Configuration > Settings is set on the vCenter Server system.
As being said, there are some limitations. Which exactly?
- If virtual CPU performance counters are enabled, you can migrate the virtual machine only to hosts that have compatible CPU performance counters.
- If an ESXi host's BIOS uses a performance counter or if Fault Tolerance is enabled, some virtual performance counters might not be available for the virtual machine to use.
I'm not sure that many folks using it, but as with everything, there might be some use cases for that when you're having an application specific requirements and you need this option. VMware Virtual CPU Performance Monitoring Counters simply allows you to benefit of more precise CPU metrics as those can give you an additional path for identifying and improving CPU performance.
And that's app development folks needs. More precision in order to tweak performance problems. If you or someone from your organization is using Virtual CPU performance counters, don't hesitate to share.
Further reading through VMware Kb: Using Virtual CPU Performance Monitoring Counters
More from ESX Virtualization:
- How to change virtual SCSI controller for VMware PVSCSI
- What is VMware Enhanced vMotion Compatibility (EVC)
- Three Ways To Determine VM Hardware Version on VMware vSphere
- What is VMware Storage DRS (SDRS)?
- What is VMware CPU Ready?
- SysKit Review (SPONSORED)