This article aims to explain how the vCenter reports the Edge CPU statistics compared to the Edge's reporting and also explain how the Edge utilizes the individual vCPUs
esxtop
Compact - 1 vCPU
Large - 2 vCPU
Quad Large - 4 vCPU
X-Large - 6 vCPU
Step 2
VMware NSX for vSphere 6.4.x
vCenter reports CPU usage in the GUI for any VM using the output of esxtop
system timeesxtop
system time is an aggregate value of total CPU usage of vCPUs of the VM plus the system time consumed by ESX kernel threads on that VM's behalf (%Used + %Sys)
Note that system time consumed by kernel threads is very low for most VMs, but an Edge has network threads that can consume a lot of CPU handling traffic
get dataplane cpu stats
Consider expanding the edge node infrastructure horizontally or vertically if usage on the dataplane is above 80%
Take note that on an X-Large Edge, the last two vCPUs are reserved for encryption, load balancing, and management function, meaning their %Used may be very low compared to the other 4 vCPUs. On Quad Large and lower, these tasks do not have reserved vCPUs.
This is technically a Linux Accounting Bug, relevant to ANY Linux virtual machine with heavy I/O. Edges are simply more prone to the issue as they have such heavy network traffic.
NSX-T article for the same issue is located here - vCenter and vRNI Report 100% NSX-T Edge CPU Utilization but Edge vCPUs are not fully utilized
Impact/Risks:
vCenter and vRNI show alerts about Edge VM High or 100% CPU Utilization