Hledání nefunguje v Exchange Server 2013, když se proces NodeRunner.exe zastaví

Původní číslo KB: 3094698

Příznaky

Když dojde k tomuto problému, můžete zaznamenat následující příznaky.

Příznak 1

Stav indexu obsahu u všech databází poštovních schránek je FailedAndSuspended.

Příznak 2

V protokolech systému sjednoceného protokolování (ULS) se zaprotokoluje zpráva.

Poznámka

Ve výchozím nastavení se soubory protokolu Exchange ULS ukládají do následujícího umístění: C:\Program Files\Microsoft\Exchange Server\V15\Logging\Search

Příznak 3

Proces NodeRunner.exe vyvolá výjimku, když se pokusí přidělit více paměti, než je dostupná paměť. Chyby se protokolují.

Příčina

K tomuto problému dochází, když se proces NodeRunners.exe zastaví kvůli výjimce OutOfMemory . Server nemá dostatek paměti nebo modul CLR (Common Language Runtime) rozhraní .NET Framework vynucuje omezení přidělení paměti pro proces NodeRunners.exe. V takovém případě se NodeRunner.exe neúspěšně pokusí přidělit více paměti, vygeneruje výjimku a pak se zastaví.

Řešení

Chcete-li problém odstranit, postupujte následujícím způsobem:

  1. Vyhledejte soubor Noderunner.exe.config. Ve výchozím nastavení se tento soubor nachází v následující cestě:

    C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config

  2. Upravte soubor a vyhledejte následující klíč:

    <nodeRunnerSettings memoryLimitMegabytes="<value>" />

  3. Pokud je hodnota klíče nastavená na jinou hodnotu než 0, změňte ji na 0 následujícím způsobem:

    <nodeRunnerSettings memoryLimitMegabytes="0" />

  4. Restartujte službu hostitelského řadiče serveru Microsoft Exchange.

Informace o procesu NodeRunner.exe

Služba hostitelského řadiče serveru Microsoft Exchange spustí čtyři pracovní procesy a každý z nich má název NodeRunner.exe. NodeRunner.exe je součástí vyhledávací komponenty Exchange. Jednotlivé funkce jednotlivých NodeRunner.exe procesů se nastavují prostřednictvím konfigurace. Proces NodeRunner.exe, který spouští jeden uzel Správa, je vlastní proces. Vzhledem k tomu, že NodeRunner.exe je samostatný proces, odvozuje některé ze svých provozních vlastností z konfiguračního souboru NodeRunner.exe.config aplikace během spuštění uzlu Správa.

Následující snímek obrazovky ukazuje čtyři uzly procesu NodeRunner.exe: Správa, Obsah, Dotaz a Index.

Snímek obrazovky se čtyřmi uzly procesu NodeRunner.exe

Pokud znáte SharePoint Server, pravděpodobně víte, jak omezit paměť přidělenou procesu NodeRunner.exe pomocí konfiguračního souboru aplikace. V Exchange Server 2013 se ale nepodporuje omezení přidělení paměti pro NodeRunner.exe touto metodou.

Výchozí nastavení minimálního požadavku na paměť pro NodeRunner.exe je 0. Proces NodeRunner.exe dynamicky spotřebovává a mění své požadavky na paměť na základě aktuálních požadavků a dostupné paměti. Můžete ale nastavit horní limit a omezit objem paměti, ke které má Node Runner přístup, pomocí parametru memoryLimitMegabytes v souboru NodeRunner.exe.config. Pokud omezíte využití paměti NodeRunner.exe a exchange server nemůže přidělit paměť pro operaci NodeRunner.exe, může operace selhat s výjimkou OutOfMemoryException .