Exchange: Noderunner.exe High CPU and Memory Usage

KB ID 0001412

Problem

After an Exchange 2007 to 2013 migration, the client emailed to say that noderunner.exe was maxing out the server memory and CPU.

The server was working fine other wise. (I’d previously disabled the search index on the datastore, to speed up the migration, and had only re enabled it that day so I assumed that’s what the problem was, I disabled it once more and jumped on after hours for a look.

You may also see Event ID 1009 logged;

Solution

First thing is to cap the memory that noderunner.exe uses, to do that edit the {Drive-Letter}:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Runtime\1.0\noderunner.exe.config.

Locate the ‘memoryLimitMegabytes=”0″‘ value.

Change it from ZERO, (use everything) to 250 and save the file.

Before we go any further lets check the database index status, execute the following command;

[box]Get-MailboxDatabaseCopyStatus | Select Name,Status,ContentIndexState[/box]

Note: Mine say FailedAndSuspended, (if yours are healthy, simply restart the services below and don’t delete the index folders).

Stop the ‘Fast search’ and ‘Host controller’ services;

[box]Stop-Service MSExchangeFastSearch

Stop-Service HostControllerService[/box]

To find out where your Database files (.edb files) are, issue the following command;

[box]Get-MailboxDatabase -Status | Select EdbFilePath[/box]

Go to each location, and in the same folder will be a folder with a long Hexedecimal name, (the GUID of the database). Delete the folder, repeat for each database that has a problem.

Start the services again;

[box]Start-Service MSExchangeFastSearch

Start-Service HostControllerService[/box]

Check the index health again;

Note: If you are running Exchange 2013, make sure you update it to a cumulative update later than version 12.

Related Articles, References, Credits, or External Links

NA

Event ID 9327

KB ID 0000480 

Problem

Seen when an Exchange server attempts to build the Offline Address book but encounters an error.

Source: MSExchangeSA
Event ID: 9327
Task Category: (13)
Level: Warning
Keywords: Classic
User: N/A
Description:
OALGen skipped some entries in the offline address list 'Global Address List'. To see which entries are affected, event logging for the OAL Generator must be set to at least medium. 

This is just an instruction to enable logging so that you can see the REAL error.

Solution

Option 1 Enable Logging via the Exchange Management Shell

1. Launch the Exchange Management Shell and check the current logging level it will probably be set to “Lowest” Issue the following command:

[box]Get-EventLogLevel[/box]

Then scroll down to “MSExchangeSAOAL Generator” and check its status.

2. To turn the logging Level Right up issue the following command:

[box]Set-EventLogLevel -Identity “MSExchangeSAOAL Generator” –Level Expert[/box]

Option 2 Enable Logging via the Exchange Management Console

1. Launch the Exchange Management Console > Server Configuration > Right click the offending server > Manage Diagnostic Logging Properties > Expand MSExchangeSA > Select OAL Generation > Tick Expert > Configure > Finish.

Then rebuild the Offline address Book

1. Launch the Exchange Management Console > Organization Configuration > Offline address book Tab > Right click “Default Offline address Book” > Update.

2. Select “Yes” when prompted.

3. Wait a few minutes the re-check the server application log, you will see this error again but there should be a more descriptive error near it to let you know what is failing.

 

Related Articles, References, Credits, or External Links

NA