Skip to main content

What is the difference between PCPU Used and PCPU Utilized?


I’m often asked the question when looking at vSphere statistics – “What is the difference between PCPU Used and PCPU Utilized and why don’t they match?” Let’s take a look as it can be somewhat complex.
First lets start with some definitions:
  • Time Stamp Counter (or TSC) – is a 64 bit register available on all modern processors that counts clock cycles at a consistent rate and is not affected by changes in clock frequency.
  • Unhalted Cycles – another count of ‘all’ clock cycles, but this one is dependent on the clock frequency and therefore the rate can change if the clock frequency changes (due to things like power management or Hyper-Threading).
  • Wall Clock Time – refers to elapsed real world time.
Okay now lets define our two counters using the above definitions:
  • PCPU utilized (which is TSC based) = (non-idle state TSC cycles)/wall clock time
  • PCPU used (which is unhalted cycle based) = (unhalted cycles)/wall clock time
So assuming a non Hyper-Threaded system, and no power management is being used, PCPU utilized = PCPU used.
Lets look at how Power Management affects these counters:
If power management is enabled and the cpu runs at a lower frequency, unhalted cycles will be smaller than TSC cycles, hence “PCPU used < PCPU utilized”. On the other hand, if turbo mode is activated and the cpu is running with a higher frequency, “PCPU used > PCPU utilized”.
Lets also look at how Hyper-Threading affects these counters:
For Hyper-Threaded systems, each core has two PCPUs and PCPU utilized is calculated using the same way as non-Hyper-Threading systems.
PCPU used is accounted differently:
  • If only one PCPU is busy within a core, for this PCPU, PCPU used =  (unhalted cycles)/wall clock time  * 50%, which means ESX assumes one Hyper-Thread only  uses half of the core capacity .
  • If both PCPUs within the core are busy, for each PCPU, PCPU used = (unhalted cycles)/wall clock time  * 62.5%, which means ESX assumes two Hyper-Thread threads will achieve 125% of core capacity.
So why two different counters and when should I use them?
PCPU utilized indicates how much time a PCPU was busy with time being even, where as PCPU used shows the total amount of work that’s been done while being influenced by technologies like Hyper-Threading and power management. I leverage PCPU utilized for my planning and analysis activities and PCPU used for troubleshooting activities.  We expose a lot of counters so always be sure you know what they mean before using them to ensure accuracy and great performance data.
http://blogs.vmware.com/vsphere/2013/01/what-is-the-difference-between-pcpu-used-and-pcpu-utilized.html

Popular posts from this blog

Fixing Tanzu Kubernetes Pod to External Services Connectivity Issues with NSX-T

Fixing Tanzu Kubernetes Pod to External Services Connectivity Issues with NSX-T Last month I got a call from a customer who was pulling their hair out over a networking issue. They had just deployed VMware Tanzu Kubernetes Grid on their vSphere with Tanzu environment, everything looked good in the dashboards, all pods were running, but their applications inside the pods could not reach external databases running on traditional VMs in the same datacenter. The frustrating part was that some pods could reach external services perfectly fine, while others would just timeout. There was no clear pattern. Let me tell you how we figured this out and fixed it. The Initial Problem Here is what the customer setup looked like: vSphere 8.0 with Tanzu enabled NSX-T 4.1.2 for networking Three Tanzu Kubernetes clusters running different microservices applications External PostgreSQL database running on traditional VMs (non-Kubernetes) External API services running on another se...

Troubleshooting vSAN Storage Policy Migration Failures in VMware Cloud Foundation 9.0

Recently I had a customer who migrated their VMware infrastructure from vSphere 7.0 to VMware Cloud Foundation 9.0. After the migration, they wanted to update their vSAN storage policies to take advantage of the new vSAN ESA (Express Storage Architecture) features. However, when they tried to change the storage policy for their production VMs, the operation kept failing with a cryptic error message. The error they were getting was: "Cannot complete operation due to insufficient resources to satisfy current storage policy." This was strange because they had plenty of disk space available. The vSAN cluster was only at 45% capacity, and all the hosts were healthy. Let me walk through how we troubleshooted and fixed this issue. Understanding the Problem First, let's understand what was happening in their environment: They had a 6-node vSAN cluster running VCF 9.0 vSAN was configured with the new ESA architecture They were trying to migrate VMs fro...

Unlocking VMware Cloud Foundation 9.0: A Strategic Blueprint for Enterprise Transformation

The evolution of VMware under Broadcom represents not disruption, but clarification—a focused vision toward unified private cloud excellence. As organizations navigate this transformation, the opportunity has never been greater to build truly modern, efficient, and powerful infrastructure with VMware Cloud Foundation. After architecting VMware solutions across diverse enterprise environments, I've observed a pattern: organizations that embrace VMware Cloud Foundation (VCF) strategically—rather than viewing the transition as a burden—emerge with significantly more capable, cost-effective, and future-ready infrastructure. This post shares a practical framework for successfully modernizing your VMware environment, maximizing your investment, and positioning your organization for the AI-driven, cloud-native future. Understanding the VMware Cloud Foundation Vision Let's start with clarity about what Broadcom and VMware are building: VMware Cloud Foundati...