Microsoft.Exchange.Search.ExSearch.exe has CPU pinned for 8 hours

  • Thread starter davenexrf
  • Start date Views 4,087
Status
Not open for further replies.
D

davenexrf

I made some changes to my Exchange server today allowing for larger attachments. I changed the limits on the transport settings and all of the send and receive connectors. I also updated the web.config for OWA to allow up to 50MB. This part went fine.

However, when the changes were done and I rebooted the server, I noticed the server was running very slow. I have found that the Microsoft.Exchange.Search.ExSearch.exe process has had the CPU maxed out ever since the reboot. This is a very small installation of exchange, currently there are less than 10 users and I would guess well less than 1000 total messages per day. I did send one 20MB test file, but that is it. Any idea what is causing this process to run like this?
 
R

RasmusDK1

I had a similar issue after installing rollup 3 for 2010. Had a few entries in my event log about exsearch.exe like the one bellow. After i mounted the store that was offline everything started to run normal again.

Log Name: Application

Source: MSExchange Search Indexer

Date: 06-04-2010 13:05:15

Event ID: 104

Task Category: General

Level: Error

Keywords: Classic

User: N/A

Computer: SRV-INT1-MBX-02.corp.local

Description:

Exchange Search Indexer failed to enable the Mailbox Database Mailbox Database 0770182310 (GUID = 47465cce-f302-4e5e-b307-dcbe76b6d79d) after 1 tries. The last failure was: Microsoft.Mapi.MapiExceptionMdbOffline: MapiExceptionMdbOffline: Unable to Get Catalog State (hr=0x80004005, ec=1142)

Diagnostic context:
Lid: 1494 ---- Remote Context Beg --
Lid: 60049 StoreEc: 0x8004010F
Lid: 49469
Lid: 65341 StoreEc: 0x8004010F
Lid: 56125
Lid: 47933 StoreEc: 0x8004010F
Lid: 32829
Lid: 49213 StoreEc: 0x8004010F
Lid: 48573
Lid: 64957 StoreEc: 0x8004010F
Lid: 31321 StoreEc: 0x476
Lid: 1750 ---- Remote Context End --
Lid: 19154 StoreEc: 0x476
Lid: 22081 StoreEc: 0x476
at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown)
at Microsoft.Mapi.ExRpcAdmin.CiGetCatalogState(Guid mdbGuid, Guid instanceGuid, Int16& catalogState, Byte[]& blob)
at Microsoft.Exchange.Search.CatalogState.GetConfigDataFromPropertyStore()
at Microsoft.Exchange.Search.CatalogState.get_PropertyBlob()
at Microsoft.Exchange.Search.Globals.DoesCatalogExist(CatalogState state)
at Microsoft.Exchange.Search.Globals.CheckAndInitializeCatalog(CatalogState catalogInfo)
at Microsoft.Exchange.Search.Driver.ProcessNewCatalogInternal(CatalogState catalog, List`1 mdbsToCrawl, Int32& numberOfDisabledMDBs). It will retry after 10 minutes.

Event Xml:

<Event xmlns=" http://schemas.microsoft.com/win/2004/08/events/event" >
<System>
<Provider Name=" MSExchange Search Indexer" />
<EventID Qualifiers=" 49156" >104</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=" 2010-04-06T11:05:15.000000000Z" />
<EventRecordID>31811</EventRecordID>
<Channel>Application</Channel>
<Computer>SRV-INT1-MBX-02.corp.local</Computer>
<Security />
</System>
<EventData>
<Data>Mailbox Database 0770182310</Data>
<Data>47465cce-f302-4e5e-b307-dcbe76b6d79d</Data>
<Data>1</Data>
<Data>Microsoft.Mapi.MapiExceptionMdbOffline: MapiExceptionMdbOffline: Unable to Get Catalog State (hr=0x80004005, ec=1142)

Diagnostic context:
Lid: 1494 ---- Remote Context Beg --
Lid: 60049 StoreEc: 0x8004010F
Lid: 49469
Lid: 65341 StoreEc: 0x8004010F
Lid: 56125
Lid: 47933 StoreEc: 0x8004010F
Lid: 32829
Lid: 49213 StoreEc: 0x8004010F
Lid: 48573
Lid: 64957 StoreEc: 0x8004010F
Lid: 31321 StoreEc: 0x476
Lid: 1750 ---- Remote Context End --
Lid: 19154 StoreEc: 0x476
Lid: 22081 StoreEc: 0x476
at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown)
at Microsoft.Mapi.ExRpcAdmin.CiGetCatalogState(Guid mdbGuid, Guid instanceGuid, Int16&amp; catalogState, Byte[]&amp; blob)
at Microsoft.Exchange.Search.CatalogState.GetConfigDataFromPropertyStore()
at Microsoft.Exchange.Search.CatalogState.get_PropertyBlob()
at Microsoft.Exchange.Search.Globals.DoesCatalogExist(CatalogState state)
at Microsoft.Exchange.Search.Globals.CheckAndInitializeCatalog(CatalogState catalogInfo)
at Microsoft.Exchange.Search.Driver.ProcessNewCatalogInternal(CatalogState catalog, List`1 mdbsToCrawl, Int32&amp; numberOfDisabledMDBs)</Data>
<Data>10</Data>
</EventData>

</Event>
 
S

Scott H. Robinson

Check the event log and see if you are getting any messages regarding exchange search. If it turns out to be the same error as Rasmus then one of the stores was dismounted. Granted it shouldn't spike if a store is dismounted but that seems to be the common line among the forums. If there is nothing of interest in the event logs check out the following technet article on diagnosing exchange search.

http://technet.microsoft.com/en-us/library/bb123701.aspx


 
N

N.Swanepoel

FOUND THE SOLUTION! I dismounted the first mailbox database after I created a few new databases and moved the user mailboxes to the new databases. Here is the problem: the first mailbox database contains arbitration mailboxes, you can only see them by running the powershell command: get-mailbox -database " mailbox database" -arbitration. After I mounted the db the CPU issue went away. Thus mount the db or move the arbbitration mailboxes to mounted databases and the issue will go away. Hope this helps!
 
Status
Not open for further replies.
Top