У меня есть интересующие меня места на двух моих жестких дисках, проиндексированных Windows Search. Иногда SearchProtocolHost.exe (служба индексации поиска Windows) интенсивно перечитывает диски без видимой причины. Это происходит раз в день или около того, даже если индексация уже давно завершена,
Используя ProcessExplorer, я посчитал, сколько времени диск интенсивно перечитывается и с какой скоростью. Я обнаружил, что служба индексирования Windows читает порядка 350 ГБ (!) с диска. Это соответствует примерно всему индексируемому набору данных моего SSD-накопителя. У меня также есть второй диск, жесткий диск; хотя Windows, кажется, периодически не переиндексирует его.
Вопросы
1. Почему Windows периодически перечитывает столько данных с диска, даже если индексация уже завершена?
2. Почему Windows переиндексирует только данные с SSD-накопителя, а не с HDD-накопителя? (или так кажется)
Технические детали
Я работаю над довольно новым ноутбуком HP ProBook, Windows 10 Pro, версия 1709.
Стек вызова SearchProtocolHost.exe во время операции индексирования (с использованием ProcessExplorer):
ntoskrnl.exe!KeSynchronizeExecution+0x5c46
ntoskrnl.exe!KeWaitForSingleObject+0x1070
ntoskrnl.exe!KeWaitForSingleObject+0x9ee
ntoskrnl.exe!KeWaitForSingleObject+0x1c9
ntoskrnl.exe!KeInsertQueueApc+0x973
ntoskrnl.exe!KeWaitForSingleObject+0x2c10
ntoskrnl.exe!KiCheckForKernelApcDelivery+0x25
ntoskrnl.exe!PsLookupThreadByThreadId+0x1d2f
ntoskrnl.exe!setjmpex+0x6f33
ntdll.dll!NtAlpcSendWaitReceivePort+0x14
RPCRT4.dll!RpcServerInqCallAttributesW+0x1e1a
RPCRT4.dll!RpcServerInqCallAttributesW+0x365f
RPCRT4.dll!RpcServerInqCallAttributesW+0x421e
RPCRT4.dll!RpcServerInqCallAttributesW+0x573d
RPCRT4.dll!RpcServerInqCallAttributesW+0x106e
RPCRT4.dll!RpcServerInqCallAttributesW+0x2793
RPCRT4.dll!RpcBindingSetAuthInfoExW+0x448
ntdll.dll!RtlSetThreadWorkOnBehalfTicket+0x237e
ntdll.dll!RtlSetThreadWorkOnBehalfTicket+0x8f6
KERNEL32.DLL!BaseThreadInitThunk+0x14
ntdll.dll!RtlUserThreadStart+0x21