Hoge CPU door mdworker: als Spotlight vastzit
Processen met de naam mds, mds_stores of mdworker horen bij de metadata en zoekindexering van Spotlight. Een piek na een update, migratie, terugzetting of grote bestandsverandering is normaal, maar mdutil -s alleen kan je niet vertellen dat een herbouw actief is, en er geldt geen vaste duur van één uur. Onderzoek de aanleiding en de voortgang voordat je opnieuw bouwt of gegevens uitsluit.
Het belangrijke deel is de timing. Een piek na een update, migratie, terugzetting of grote bestandsverandering is Spotlight dat verwacht werk doet. Hoge CPU die in rust terugkomt wijst op een volume of map die blijft veranderen. De workers killen stopt die lus niet. launchd start ze gewoon opnieuw.
Wat mds en mdworker zijn
Dit is de indexeringsmotor van Spotlight. mds (metadata server) coördineert de index, mds_stores beheert de database, en mdworker-processen doen het echte scannen van bestanden zodat hun inhoud en metadata doorzoekbaar worden. Wanneer de index actueel is, zitten ze stil. Wanneer iets de index verouderd maakt, worden ze wakker en werken ze je bestanden door. Dat is de CPU die je ziet.
Waarom het opvlamt
Spotlight indexeert opnieuw wanneer veel bestanden tegelijk veranderen:
- Na een macOS-update of migratie, wanneer grote delen van de schijf nieuw zijn.
- Na het verplaatsen of kopiëren van veel gegevens, zoals bestanden terugzetten of een schijf klonen.
- Na het aansluiten van een nieuw extern of netwerkvolume dat nog niet is geïndexeerd.
- Wanneer een map vol bestanden snel verandert, zoals een grote download die klaar is.
Controleer of indexering aan staat:
mdutil -s /
"Indexing enabled" is de normale staat, geen voortgangsrapport. Koppel aanhoudende CPU van mdworker aan de schijfactiviteit in Activiteitenweergave en aan recente bestandsveranderingen. Als het werk vordert, laat de Mac dan aan staan en laat het afmaken. Grote bronbomen, mailopslag, externe volumes, trage opslag en herhaalde synchronisatiewisselingen kunnen de klus verlengen.
Wanneer het niet tot rust komt
Als de activiteit nooit tot rust komt, stop dan eerst de app die bestanden herschrijft en koppel één verdacht extern volume los. Een map uitsluiten in Systeeminstellingen > Spotlight > Zoekprivacy ruilt lagere indexeringskosten in voor het verlies van Spotlight-resultaten in die map. Gebruik dat voor gegenereerde buildbomen, virtuele schijven of archieven die je echt nooit doorzoekt, niet als een algehele uitsluiting van de thuismap of de opstartschijf.
Wanneer zoekresultaten ontbreken of de index aantoonbaar vastzit, documenteert Apple een herbouw via dezelfde privacylijst: voeg de betrokken schijf of map toe, wacht kort, en haal die er daarna af. De huidige herbouwgids voor Spotlight noemt de knop Zoekprivacy of Spotlight-privacy, afhankelijk van de macOS-versie. Spotlight indexeert het item opnieuw nadat je het uit de lijst haalt. Een herbouw herhaalt met opzet duur werk, dus het is een reparatiestap, niet de eerste reactie op gewone CPU-activiteit.
Onder de motorkap: de index, en wat een herbouw afdwingt
Spotlight houdt een omgekeerde index bij, een kaart van woorden en metadata naar de bestanden die ze bevatten, in een verborgen .Spotlight-V100-opslag op elk volume. Wanneer een bestand verandert, meldt het FSEvents-mechanisme van de kernel dat aan mds, die het bestand aan een mdworker geeft, die de bijpassende importer-plug-in (.mdimporter) voor dat bestandstype laadt om tekst en metadata eruit te halen. Een normale bewerking is goedkoop. Een volledige herbouw is duur omdat in aanmerking komende bestanden opnieuw geïmporteerd moeten worden. Sommige updates, migraties en terugzettingen zetten een flinke herindexering in gang, maar de omvang verschilt. Privacy-uitsluitingen verminderen het werk alleen door zoeken in die subboom op te geven. Daarom horen ze smal en bewust te zijn.
Waar een monitor helpt
Activiteitenweergave of de Statusweergave van Mole kan Spotlight aanwijzen als de eigenaar van CPU en schijf. De moeilijkere vraag is of het werk komt door een eindige verandering of door een map die blijft veranderen. Recente activiteit en gecontroleerd isoleren beantwoorden dat. Een worker geforceerd stoppen niet.
Een diagnose die je kunt herhalen
Bevestig dat indexering aan staat, koppel CPU aan schijfactiviteit en recente bestandsveranderingen, en wacht wanneer voortgang aannemelijk is. Isoleer een map of volume dat herhaaldelijk verandert wanneer de activiteit aanhoudt. Sluit alleen gegevens uit die je niet hoeft te doorzoeken. Bouw opnieuw via Zoekprivacy alleen wanneer resultaten of indexgedrag bewijzen dat het nodig is. Kill de workers niet als opruimstrategie.