Risolvere l’uso elevato di CPU di mds e mdworker sul Mac
I processi denominati mds, mds_stores o mdworker appartengono all'indicizzazione
dei metadati e della ricerca di Spotlight. Un picco dopo un aggiornamento, una
migrazione, un ripristino o una grande modifica ai file è normale, ma mdutil -s da
solo non indica se una ricostruzione è in corso e non esiste una durata fissa di un'ora.
Diagnostica la causa e l'avanzamento prima di ricostruire o escludere dati.
Cosa sono mds e mdworker
Sono il motore di indicizzazione di Spotlight. mds (metadata server) coordina l'indice, mds_stores gestisce il database e i processi mdworker eseguono la scansione effettiva dei file in modo che contenuti e metadati diventino ricercabili. Quando l'indice è aggiornato restano inattivi. Quando qualcosa rende l'indice obsoleto, si attivano e lavorano sui file: è la CPU che vedi.
Perché si attiva
Spotlight reindicizza quando molti file cambiano insieme:
- Dopo un aggiornamento o una migrazione di macOS, quando gran parte del disco è nuova.
- Dopo aver spostato o copiato una grande quantità di dati, ad esempio ripristinando file o clonando un'unità.
- Dopo aver collegato un nuovo volume esterno o di rete non ancora indicizzato.
- Quando una cartella piena di file cambia rapidamente, ad esempio al termine di un grande download.
Verifica se l'indicizzazione è attiva:
mdutil -s /
"Indexing enabled" è lo stato normale, non un rapporto di avanzamento. Correlare un uso
sostenuto di CPU di mdworker con l'attività disco in Monitoraggio attività e con le
modifiche recenti ai file. Se il lavoro avanza, lascia il Mac alimentato e lascia
completare. Alberi di sorgenti grandi, archivi di posta, volumi esterni, storage lento e
sincronizzazioni ripetute possono prolungare l'operazione.
Quando non si calma
Se l'attività non si stabilizza, interrompi prima l'app che riscrive i file e scollega un volume esterno sospetto. Escludere una cartella in Impostazioni di sistema > Spotlight > Privacy ricerca riduce il costo di indicizzazione ma fa perdere i risultati Spotlight in quella cartella. Usalo per alberi di build generati, dischi virtuali o archivi che non cerchi mai, non come esclusione generica per Home o il disco di avvio.
Quando i risultati di ricerca mancano o l'indice è chiaramente bloccato, Apple documenta una ricostruzione tramite la stessa lista di privacy: aggiungi il disco o la cartella interessati, attendi un momento, poi rimuovili. La guida attuale alla ricostruzione di Spotlight chiama il pulsante Search Privacy o Spotlight Privacy, a seconda della versione di macOS. Spotlight reindicizza l'elemento dopo che lo rimuovi dalla lista. Una ricostruzione ripete di proposito un lavoro costoso, quindi è un passo di riparazione, non la prima risposta a un'attività CPU ordinaria.
Dietro le quinte: l'indice e cosa forza una ricostruzione
Spotlight mantiene un indice invertito, una mappa da parole e metadati ai file che li
contengono, in un archivio nascosto .Spotlight-V100 su ogni volume. Quando un file
cambia, il meccanismo FSEvents del kernel notifica mds, che passa il file a un mdworker,
che carica il plugin importatore (.mdimporter) corrispondente a quel tipo di file per
estrarre testo e metadati. Una modifica normale è economica. Una ricostruzione completa
è costosa perché i file idonei devono essere reimportati. Alcuni aggiornamenti,
migrazioni e ripristini attivano una reindicizzazione sostanziale, ma l'ambito varia. Le
esclusioni di privacy riducono il lavoro solo rinunciando alla ricerca per quel
sottoalbero, ed è per questo che devono essere mirate e intenzionali.
Dove un monitor aiuta
Monitoraggio attività o la vista Stato di Mole possono identificare Spotlight come proprietario di CPU e disco. La domanda più difficile è se il lavoro sia causato da una modifica finita o da una cartella che continua a cambiare. L'attività recente e un isolamento controllato rispondono a questo; forzare l'uscita di un worker no.
Una diagnosi ripetibile
Conferma che l'indicizzazione è attiva, correla la CPU con l'attività disco e le modifiche recenti ai file, e attendi quando l'avanzamento è plausibile. Isola una cartella o un volume che cambia ripetutamente se l'attività persiste. Escludi solo i dati che non ti serve cercare; ricostruisci tramite Privacy ricerca solo quando i risultati o il comportamento dell'indice lo dimostrano necessario. Non terminare i worker come strategia di pulizia.