Windows Search Indexer Uses High CPU Usage

searchtroubleshootingwindowswindows-server-2012

We have a Windows Server 2012. From time to time the Windows Indexer has too high CPU usage. What could cause this and how could it be solved.
It runs perfect several weeks and then it takes too much CPU load.

What is the easiest approach to solve this issue? Do you need more details?

enter image description here

enter image description here

When I look twith Processmon it seems to access sometimes to strange registry values likes: HKCR.com($e8f18eb3)/0/Posteingang/_DPM/곯가가가갦겼곱갮격갢걑걊겥겧곭곟곬겢갘겷갤걠걍각

It also seems that this problem occurs only after restart. And then it gets better when we rebuild the index.

Best Answer

The CPU usage you showed in the screenshots is not very high. So let's start by investigating what do you mean by "slowness". It's very likely that your disks are saturated, causing everything to feel slow. It's a good hypothesis that the indexing server is the one causing it, but we've to collect more evidence first.

Go to Task Manager > Performance > Open Resource Monitor. In the Resource Monitor, you'll see a tab called "Disk" where you can check which processes are using most of the disk I/O at that moment. Also check what is the "Response Time". Depending on your disks, you could see something 1-15ms as being quite normal or worse numbers like 200-2000ms. That would mean your disks are heavily saturated and you've identified the cause for the "slowness".

If the Indexing service is causing it, check a few things first:

  • services.msc > Indexing Service => Ensure it's configured with "Automatic (Delayed Start)"
  • Control Panel > Indexing Options => Ensure only the absolute necessary folders are indexed

If you added a new folder and/or there has been newer data added to an existing folder, you'll have to live with that and wait for the Indexing Service to finish it's job. You could try, but this is not guaranteed to make much difference, to give the Indexing Service "Below Normal" priority in Task Manager, but since the workload is I/O-bound it probably won't help that much.

If any other process is causing the excessive disk I/O, then you have to investigate that separately.