Jump to content
Welcome to our new Citrix community!
  • 1

WMI Provider Host high CPU utilization

Steven Wilson


We are running XenApp 7.8 on Server 2012R2 with no issues and I updated the VDA only to 7.11 and pushed to just one server to test.  The server with the 7.11 VDA now has CPU spikes to 25% utilization then back to normal, it will do this every 10 to 15 seconds.  The file location of the WMI Provider Host is the wmiprvse.exe in the system32/wbem folder.  I believe it is also the wmiapsrv service.  I also noticed that Director will no longer provide machine utilization for that server.  I get a cannot retrieve the data message.  Other than those issues the server does appear to work properly.  Any ideas?

Link to comment

15 answers to this question

Recommended Posts

  • 1

I know this is older but I had the same issue. I was running VDA 7.17 at the time and I would have to check the servers daily to see if it was hogging the cpu. If it did I would run the following on an elevated command prompt.

net stop winmgmt /y
winmgmt /resyncperf
wmiadap.exe /f
net start winmgmt
net start "ip helper"
net start "user access logging service"


This would drop the cpu temporarily but I would typically have to run it 1 or 2 times a day on servers.


Since I have updated the VDA's to 1811 (uninstalled citrix, ran vda cleanup, installed 1811) I have not had this issue on any vda.

  • Like 1
Link to comment
  • 0

I realized if I stop the Citrix Desktop Service the high CPU utilization spikes stop.  The Desktop Service points to program files\citrix\virtual desktop agent\brokeragent.exe.  Cannot I run a VDA 7.11 with a 7.8 delivery controllers?  What would happen if I disable the Citrix Desktop Service until I find a real solution?  Any impact to users?       

Link to comment
  • 0

This will work.


Boot into Safe Mode with Networking


Troubleshooting in Safe Mode will better help you isolate and identify the culprits: 


1) On your keyboard, press the Windows logo key and R at the same time, then type msconfig in the search box and press Enter. 


2) Go to Boot tab, then tick the box for Safe boot, and select Network option. Click Apply and OK to save. 


3) Make sure that you have saved your files and data, then click Restart to enter Safe Mode. 


4) When in Safe Mode, press the Windows logo key and X at the same time, then select Windows PowerShell (Admin). 


5) Then type the following command in and press Enter. 


msdt.exe -id MaintenanceDiagnostic

You will see a troubleshooting window pop up. Click Next to let the troubleshooting run. 


If the troubleshooter detects some problem with your system, then follow the instructions to get it repaired. 


6) Still in the PowerShell window, type in the following command and press Enter.  


msdt.exe /id PerformanceDiagnostic

You’ll see a Performance troubleshooting window pop up, just click Next to continue with the troubleshooting. 


Still, if you see the notification telling you that something needs to be changed in your system, do as the system tells you to do. 


7) When the troubleshooting process finishes, you need to boot into normal mood. Repeat step 1). Then go to Boottab and empty the box for Safe boot. Click Apply and OK to save and exit. Restart your computer into normal mode.


This answer from Microsoft might be helpful too. You can always look at alternative ways to fix WMI provider host high cpu usage if this one doesn't work for you.

Link to comment
  • 0

For us this only happens when we try to load too many users on a Windows 2016 Server. CPU load & Memory load is all normal but as soon as we get to 20+ users then suddenly servers start to show this behavior. We always built every new vdisk from scratch and performance counters were not corrupt so I'm pretty sure that's not it.


Anyway I just added more servers, decreased number of vCPUs and memory per server and try to stay below 20 sessions for each server and all seems fine now. Never had this issue again.


Link to comment
  • 0

I was having the exact same issue with WmiPrvSE.exe - 50% CPU usage for 7-8 seconds, then 7-8 seconds of it back to normal (repeating pattern). In my case, the issue came from the Winmgmt service (Windows Management Instrumentation) and I discovered that restarting this service and it's dependencies resolved the CPU spikes.


Funnily enough, a full server restart brought the issue back. I attempted to set the Winmgmt service to delayed start (and it's dependencies) however this was not enough. Finally I created a powershell script: "Restart-Service Winmgmt -Force" and set task scheduler to run this on system startup but delayed a few minutes. Now this server is operating at it's optimal state.


FYI: From what I have read I believe after Windows and/or Citrix updates this issue will disappear - I just needed an immediate fix. 


Hope this helps anyone else that stumbles upon this thread.


Throwaway account, I won't see replies :D

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...