Thursday, 3 December 2015

VPXD Process Reports 100 Percent CPU Usage

Written by Suhas Savkoor

In task manager, you notice the VMware vpxd.exe process is using almost 100 percent of CPU and also a high memory usage. Sometimes, this also hinders you from logging into vCenter Server via a vSphere client saying the application took too long to respond.

What do we do in this case? We might end up rebooting the vCenter machine, and it might work good for sometime, but then again after a couple of hours or days it might start throwing up this 100 percent CPU usage causing lethargic behavior.

What did I do when I came across this issue? Well, the vCenter Logs is what came to the rescue.

From the vCenter vpxd logs located in:
C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-X.log

Here, we have excessive calls being done to the Performance Manager API and this causing the vpxd.exe process to consume 100 percent CPU.

Here we see, we have a process ID 3b863d5f-99a5-f4d0-0cce-667f34d1c3a4  Now what we need to do is track which process ID is this or a source making this repeated API Calls. 

For this, we need to open the vpxd-profiler.log (Again located in the same directory as your vpxd.log) 

My vpxd-profiler.log looked like this:

Here, we see we have a service account MYCMSC\svc_vdmadmin and an IP making this repeated API calls.

The vpxd-profiler.log also recorded the following information.

CPU usage mean/min and max is 10000, which corresponds to 100 percent

To mitigate this issue, you need to see the service account triggering this API call, and disable/prevent it for access to vCenter. In my case, it was a third party security software making this API call. This software was no where related or required for vCenter, and I went ahead and disabled it, resolving the 100 percent CPU usage.

Free the usage!