locked
searchindexer.exe extermemly high cpu usage - let it run for days - no change RRS feed

  • Question

  • Not certain what to do, I've rebuilt the index, manually deleted the index data folder, completely removed, restarted and then reinstalled Windows Search from the add/remove Windows features, I've also chkdsk /f'd my drives.

    When the Searchindexer.exe is using as much CPU as it can I've checked with resource monitor and it isn't reading from or writing to any files, just chewing through CPU cycles.


    I created a dump of the searchindexer.exe and opened it with a debugger tool, this is the contents

     Microsoft (R) Windows Debugger Version 6.2.9200.16384 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.


    Loading Dump File [S:\Tools\SearchIndexer.exe.dmp]
    User Mini Dump File with Full Memory: Only application data is available

    Symbol search path is: *** Invalid ***
    ****************************************************************************
    * Symbol loading may be unreliable without a symbol search path.           *
    * Use .symfix to have the debugger choose a symbol path.                   *
    * After setting your symbol path, use .reload to refresh symbol locations. *
    ****************************************************************************
    Executable search path is:
    Windows 8 Version 9200 MP (8 procs) Free x64
    Product: WinNt, suite: SingleUserTS
    Built by: 6.2.9200.16384 (win8_rtm.120725-1247)
    Machine Name:
    Debug session time: Sun Nov  4 22:01:24.000 2012 (UTC - 7:00)
    System Uptime: 0 days 10:09:39.102
    Process Uptime: 0 days 0:54:31.000
    .........................................................
    Loading unloaded module list
    ..........
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for KERNELBASE.dll -
    ntdll!NtWaitForSingleObject+0xa:
    000007fc`5b172c2a c3              ret


    also I inspected the problem thread in process hacker, here is the stack:

    0, ntoskrnl.exe!SeAccessCheck+0x1ef
    1, ntoskrnl.exe!KeDelayExecutionThread+0xc32
    2, ntoskrnl.exe!KeWaitForSingleObject+0x1cf
    3, ntoskrnl.exe!_misaligned_access+0x809
    4, ntoskrnl.exe!SeAccessCheck+0x280
    5, ntoskrnl.exe!SeAccessCheck+0x4d1
    6, korwbrkr.dll!DllUnregisterServer+0x2f48
    7, korwbrkr.dll!DllUnregisterServer+0x243e
    8, korwbrkr.dll+0x12173
    9, korwbrkr.dll!DllUnregisterServer+0x1696
    10, korwbrkr.dll!DllUnregisterServer+0x62f9
    11, korwbrkr.dll!DllUnregisterServer+0x6117
    12, korwbrkr.dll!DllUnregisterServer+0x5db9
    13, korwbrkr.dll!DllUnregisterServer+0x5882
    14, korwbrkr.dll!DllUnregisterServer+0x6fa0
    15, mssrch.dll!DllGetClassObject+0x3feba
    16, mssrch.dll+0x19425
    17, kernel32.dll!BaseThreadInitThunk+0x1a
    18, ntdll.dll!RtlUserThreadStart+0x21


    I've also deleted my Outlook data files and started from scratch with my emails, and made sure the data folders aren't over a gig.

    I've installed all the updates available for Windows 8 and I've also ran sfc /scannow.

    I would appreciate if anyone could offer any help at all, thanks.

    computer info:

    OS Name    Microsoft Windows 8 Pro with Media Center
    Version    6.2.9200 Build 9200
    Other OS Description     Not Available
    OS Manufacturer    Microsoft Corporation
    System Name   ---------------------
    System Manufacturer    System manufacturer
    System Model    System Product Name
    System Type    x64-based PC
    System SKU    SKU
    Processor    Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz, 3501 Mhz, 4 Core(s), 8 Logical Processor(s)
    BIOS Version/Date    American Megatrends Inc. 1616, 10/5/2012
    SMBIOS Version    2.7
    Embedded Controller Version    255.255
    BIOS Mode    Legacy
    BaseBoard Manufacturer    ASUSTeK COMPUTER INC.
    BaseBoard Model    Not Available
    BaseBoard Name    Base Board
    Platform Role    Desktop
    Secure Boot State    Unsupported
    PCR7 Configuration    Binding Not Possible
    Windows Directory    C:\Windows
    System Directory    C:\Windows\system32
    Boot Device    \Device\HarddiskVolume1
    Locale    United States
    Hardware Abstraction Layer    Version = "6.2.9200.16420"
    User Name    ----------------------------------
    Time Zone    US Mountain Standard Time
    Installed Physical Memory (RAM)    16.0 GB
    Total Physical Memory    15.9 GB
    Available Physical Memory    6.63 GB
    Total Virtual Memory    18.2 GB
    Available Virtual Memory    4.82 GB
    Page File Space    2.25 GB
    Page File    S:\pagefile.sys
    Hyper-V - VM Monitor Mode Extensions    Yes
    Hyper-V - Second Level Address Translation Extensions    Yes
    Hyper-V - Virtualization Enabled in Firmware    No
    Hyper-V - Data Execution Protection    Yes


    • Edited by Joenathane Monday, November 5, 2012 5:53 AM
    Monday, November 5, 2012 5:14 AM

Answers

  • rename the file back, capture the high CPU usage and I look at the file. If it is really a MS component contact the support directly.


    "A programmer is just a tool which converts caffeine into code"

    I'll go ahead and do that when I have a little time, too busy right now, but renaming that file definitely fixed it, I was dealing with high cpu usage from the indexer for weeks, now my system is at peace.

    • Edited by Joenathane Tuesday, November 6, 2012 2:21 AM
    • Marked as answer by Leo Huang Tuesday, November 20, 2012 9:20 AM
    Tuesday, November 6, 2012 2:20 AM

All replies

  • Ok, did some research on the korwbrkr.dll and it seems to be related to a Korean dictionary, as if the indexer is trying to index something with Korean characters in it(not aware that I have anything like that), and that is throwing it for a loop. I've renamed the korwbrkr.dll to korwbrkr.bak and it's related dictionary file and deleted the search index and I'm letting it rebuild and see if that solves it. I will post back on my findings.  
    • Edited by Joenathane Monday, November 5, 2012 5:53 AM
    Monday, November 5, 2012 5:52 AM
  • If you still have issues run xperf:

    Install the WPT (http://social.technet.microsoft.com/wiki/contents/articles/4847.install-the-windows-performance-toolkit-wpt-en-us.aspx), open a CMD prompt with admin rights and type this:
    xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d HighCPUUsage.etl

    after you captured 30s of the high CPU usage issues, go back to CMD prompt and press a key to stop the logging. Now compress the HighCPUUSage.etl as 7z (LZMA2, ULTRA) to reduce the size. Upload this file to your SkyDrive or Dropbox and post a link here.


    "A programmer is just a tool which converts caffeine into code"

    Monday, November 5, 2012 7:48 AM
    Answerer
  • Thanks for your response Andre.Ziegler. The indexer ran all night and is showing that indexing is complete, so no more high CPU usage. It seems that the issue is with the korwbrkr.dll, I would love for someone from Microsoft to take a bug report on this.  
    Monday, November 5, 2012 1:56 PM
  • rename the file back, capture the high CPU usage and I look at the file. If it is really a MS component contact the support directly.


    "A programmer is just a tool which converts caffeine into code"

    Monday, November 5, 2012 3:29 PM
    Answerer
  • Many folks in the know just disable the search indexer.  Lo and behold the system actually works better without it.  This is a "To Work" option with advantages and virtually no downside.

    Many modern systems have such fast storage subsystems that wasting all those system resources to index the disk and put the data back on the disk makes even less sense than it used to.

     

    -Noel


    Detailed how-to in my eBooks:  

    Configure The Windows 7 "To Work" Options
    Configure The Windows 8 "To Work" Options

    Monday, November 5, 2012 4:16 PM
  • rename the file back, capture the high CPU usage and I look at the file. If it is really a MS component contact the support directly.


    "A programmer is just a tool which converts caffeine into code"

    I'll go ahead and do that when I have a little time, too busy right now, but renaming that file definitely fixed it, I was dealing with high cpu usage from the indexer for weeks, now my system is at peace.

    • Edited by Joenathane Tuesday, November 6, 2012 2:21 AM
    • Marked as answer by Leo Huang Tuesday, November 20, 2012 9:20 AM
    Tuesday, November 6, 2012 2:20 AM
  • Many folks in the know just disable the search indexer.  Lo and behold the system actually works better without it.  This is a "To Work" option with advantages and virtually no downside.

    Many modern systems have such fast storage subsystems that wasting all those system resources to index the disk and put the data back on the disk makes even less sense than it used to.

     

    -Noel


    Detailed how-to in my eBooks:  

    Configure The Windows 7 "To Work" Options
    Configure The Windows 8 "To Work" Options

    Not in Windows 8, when I uninstalled the indexer the search on the Start Screen(where you just start typing) stopped working. The indexer seems to be pretty vital to Windows 8, not only that but if you have a lot of files, the indexer can be a godsend. If I'm not mistaken the indexer is also the reason Microsoft abandoned WinFS.


    • Edited by Joenathane Tuesday, November 6, 2012 2:28 AM
    Tuesday, November 6, 2012 2:21 AM
  • You just didn't set everything that needs setting to turn it off (as I recall it's not trivial, though not too hard).  I have it off and my search works just fine on the Start screen.

    And I'm sorry to sound negative, but there is NOTHING about the indexer that resembles a "godsend".  It's a poor implementation of a flawed design - a piece of junk in simple terms.  If you want instant results get SSD storage.

      

    -Noel


    Detailed how-to in my eBooks:  

    Configure The Windows 7 "To Work" Options
    Configure The Windows 8 "To Work" Options


    Tuesday, November 6, 2012 2:45 AM
  • Thank you, Noel.

    I finally disabled Microsoft Search Indexer after reading your post.  I have not noticed any downside, but reaped the tremendous benefits of disabling it:

    1. The PC is faster after getting rid of this CPU hog.
    2. The search is much faster.  The PC used to hang almost if I type something in the search box of the File Explorer. Ironically, Windows prompts "Your search might be slow because the index is not running. Click to turn on the index".  Of course, I do not take the bait.
    3. Saving a lot of precious SSD space by getting rid of the exploding file generated by the indexer - Windows.edb.  My primary drive is an SSD. Windows.edb used to keep growing until if fills the drive. It grew to over 50GB in my case.

    My Windows 8 PC is much better now without the search thing.


    Hong

    Friday, April 5, 2013 9:42 PM
  • Thanks for your feedback, Hong.  That mirrors my experience, and yes, it seems ironic, but how hard is it to imagine that indexing an entire disk and storing the results back on the disk makes no sense at all, and so it must be made to be more limited. 

    Problem is, limiting searching and indexing so that doesn't actually cover everything on the disk in the vain hope of making this ridiculous concept seem to work means it is no longer a search at all, but more like a "I'm bored; find me something interesting" function, not unlike the big colored boxes in the Metro/Modern screen.

    There are other tangible upsides to disabling the indexing junkware too, such as a greater likelihood it will actually turn up a file you're searching for.  I've grown to trust Windows search again - to find files by filename or extension.  Never to search inside files, though.  I have GOOD 3rd party software for that.

      

    -Noel


    Detailed how-to in my eBooks:  

    Configure The Windows 7 "To Work" Options
    Configure The Windows 8 "To Work" Options

    Saturday, April 6, 2013 12:29 AM
  •  I've grown to trust Windows search again - to find files by filename or extension. 

    You are absolutely right.  My lost faith has been restored too. 

    The indexer is apparently buggy. One possibility is that it indexes itself which is highly compacted so Windows.edb keeps growing.  It is like a dead loop that never finishes.  It could e summer intern's project considering it has existed for so long without a fix.  Maybe it will get fixed this summer when the intern comes back or they hire another intern to work on it.   


    Hong

    Saturday, April 6, 2013 12:56 AM
  • The solutions sometimes can be quite simple.
    If you try to search for something in your c:\ drive, you are immediately prompted and suggested by Microscoff to add the C:\ drive to your search index.  DONT DO IT.  The search will never complete, and you will consume all your memory and CPU as it thrashes about preventing you from actually working.  Check to see if you goofed and added C:\ to the list and remove it.

    Sometimes, the answer is to just wait for a while.  If you add and remove a bunch of files to/from your Onedrive (the drive artist formerly known as Skydrive) Its going to take a while.  Most of you have the cheapest level of DSL or cable service anyhow, with .5 to 1.0 MBPS upload speed, and this is what is biting you in the rear.  You want to be cheap and save money, but you want powerful all your schlock on Onedrive too and when you copy 5 GB of pictures or your torrented movies to your Onedrive, its going to take a week or two to upload.

    Onedrive and Windows Search are both pigs when it comes to disk and memory.  Its not that it is a bad design, but like all things Microsoft, they are half-baked then on to the next "feature".  Onedrive and Windows Search need throttles so you can effectively slow them down on a schedule so you can "work".  MS please consider adding a limiter to both of these products.  For example, between 7:00 AM and 7:00 PM, do not use more than 15% of my CPU and Memory.  Simple, problem solved.  Currently, they will both gorge on both resources until your computer is unusable.  I noticed these two products are such resource hogletts, that Outlook cannot even open and download new messages because it is fighting for the resources and loosing.  Give Outlook (the WORK product) the priority for search, but then again, we are asking to make a dumb product, smart and that request falls on deaf ears in the Ivory Towers of Redmond where everyone has 16 GB  of ram, 8 Core Extreme processors and a 100 Mbps uplink to the cloud.

    Monday, October 20, 2014 10:18 PM