Abres Activity Monitor porque tu Mac va lento —los ventiladores rugen, la luz del disco no para— y el proceso que encabeza la columna de CPU es mds_stores, a menudo al 100 %, al 200 % o más. Terminarlo parece arriesgado; esperar parece una pérdida de tiempo. A diferencia de una app que se porta mal, esto podría ser trabajo legítimo, o podría estar atascado. Esta guía te da una forma clara de distinguir ambos casos y te lleva paso a paso por las soluciones que de verdad ayudan.
Respuesta rápida
mds_stores es el proceso de trabajo por volumen de Spotlight, el índice de búsqueda de macOS. La CPU alta suele ser trabajo real: indexación inicial tras una instalación o actualización, una unidad externa recién montada, el trasiego de la sincronización en la nube o un flujo de trabajo de desarrollo que crea miles de archivos pequeños. Tres señales sugieren que está atascado en vez de trabajando:
- Lleva más de 24 horas ejecutándose sobre el mismo volumen sin avanzar.
- No hay ningún detonante reciente —ninguna sincronización en la nube en marcha, ninguna copia de archivos grande, ninguna unidad recién montada— y aun así la CPU y el disco siguen altos durante horas.
- Da vueltas una y otra vez sobre los mismos archivos.
El panel Open Files de ProcXray muestra exactamente qué rutas está leyendo mds_stores en este momento: la forma más rápida de identificar qué lo está provocando. El Inspector de procesos de Activity Monitor también puede listar los archivos abiertos de un proceso, pero como un cuadro de diálogo estático, sin búsqueda ni historial; para cribar miles de rutas de indexación en tiempo real, el panel de ProcXray resuelve el diagnóstico en segundos.
¿Qué es mds_stores?
mds_stores es uno de los tres procesos que componen Spotlight en macOS:
mds— el coordinador del servidor de metadatos. Reside en/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds. Hay exactamente uno por sistema.mds_stores— un proceso por cada volumen indexado, que mantiene el almacén del índice en disco. Tu SSD interno tiene uno; cada unidad externa indexada recibe el suyo propio; algunos montajes de red obtienen el suyo.mdworker_shared(a vecesmdworker) — procesos de trabajo que abren archivos individuales, extraen metadatos (texto, EXIF, ID3, propiedades de documentos, etc.) y devuelven el resultado amds_stores.
Si ves varios procesos mds_stores en Activity Monitor, es normal: simplemente significa que se está indexando más de un volumen. Un Mac inactivo típico, con el índice ya construido, ejecuta mds_stores a en torno al 0–5 % de CPU. El modelo por volumen también implica que el mds_stores de una unidad externa puede dispararse por su cuenta sin afectar al proceso del volumen de arranque.
Una nota sobre los porcentajes: en Activity Monitor, el 100 % equivale a un núcleo de CPU completo. En un Mac multinúcleo, un solo proceso puede superar con creces el 100 %. Así que mds_stores al 250 % está ocupando el equivalente a unos dos núcleos y medio completos.
El cambio de enfoque: trabajando frente a atascado
Este es el cambio de enfoque más importante de la guía. A diferencia de WindowServer, que siempre está aguas abajo de alguna app que lo impulsa, que mds_stores consuma CPU normalmente significa que el indexador está legítimamente ocupado, y el trabajo legítimo tiene un final. La pregunta de diagnóstico no es «¿qué le pasa a mds_stores?». Es:
¿Es una indexación pasajera que va a terminar, o el indexador está atascado?
Una breve guía:
- Probablemente trabajando (esperar) — empezó tras un evento conocido (una actualización del sistema, una copia de archivos grande, montar una unidad externa, un
git pullgrande); la CPU está alta pero baja a lo largo de minutos u horas;mdutil -sinforma de indexación en curso. - Probablemente trabajando pero lento — hay una app de sincronización en la nube activa en segundo plano, o tienes una carpeta llena de archivos pequeños que cambian constantemente (artefactos de compilación, directorios de registros, buzones de correo).
- Probablemente atascado (actuar) — lleva más de 24 horas en marcha,
mdutilinforma de que la indexación está completa, el proceso sigue dando vueltas sobre los mismos archivos, o vuelve a aparecer inmediatamente con CPU alta tras terminarlo. - Probablemente índice corrupto (actuar) — empezó justo después de un apagado forzado, un kernel panic o una reparación de volumen APFS.
Esta guía estructura el resto del artículo: identifica el detonante, confirma si está terminando y aplica la solución adecuada.
Qué desencadena los picos de mds_stores
Hay seis detonantes habituales, más o menos en orden de frecuencia con la que aparecen:
1. Instalación nueva o actualización de macOS
La primera vez que Spotlight indexa un volumen tiene que extraer metadatos de cada archivo. En un Mac recién configurado, esto puede tardar de 30 minutos a varias horas, según el tamaño de la carpeta de inicio y de cuántas fotos o documentos tengas. Las actualizaciones importantes de macOS también desencadenan a veces una reindexación parcial.
2. Una unidad externa nueva o una copia de archivos grande
Cada archivo nuevo necesita extracción de metadatos. Montar un disco externo de 1 TB lleno de contenido variado puede mantener ocupado a mds_stores durante una a varias horas. Una copia grande hacia tu volumen de arranque —por ejemplo, restaurar una carpeta desde una copia de seguridad— tiene el mismo efecto.
3. Trasiego de la sincronización en la nube
Esta es, con diferencia, la causa más común de «mds_stores no para nunca». iCloud Drive, Dropbox, OneDrive, Google Drive y Box crean, modifican y eliminan archivos en segundo plano. Cada uno de esos cambios es un evento del sistema de archivos al que Spotlight tiene que dar seguimiento. Dos patrones concretos son tristemente célebres: Optimizar almacenamiento del Mac de iCloud (que expulsa y vuelve a descargar archivos) y Archivos a petición de OneDrive (la misma idea). Cada ciclo de expulsión/descarga vuelve a disparar la indexación del archivo afectado.
4. Flujos de desarrollo que crean miles de archivos pequeños
npm install / yarn install (el temido node_modules), las compilaciones de Xcode que escriben en ~/Library/Developer/Xcode/DerivedData, git checkout en una rama grande, las extracciones de imágenes de Docker y las actualizaciones de Homebrew generan todas grandes ráfagas de eventos del sistema de archivos. Spotlight intenta indexarlos todos.
5. Primera copia de Time Machine o un snapshot grande
Time Machine comparte el flujo de eventos del sistema de archivos que vigila Spotlight. Una primera copia de seguridad, o una operación de snapshot grande, puede interactuar con mds_stores de formas que disparan ambos procesos a la vez.
6. Índice corrupto que requiere reconstrucción
Tras un apagado forzado, un kernel panic, un problema de volumen APFS o una reparación de disco fallida, el índice de Spotlight puede quedar inconsistente. mds_stores tiene entonces que reconstruirlo desde cero, un proceso que se ve idéntico a la indexación inicial pero que aparece de la nada.
Vale la pena señalar unas cuantas apps concretas como fuentes frecuentes de trasiego: la sincronización de Adobe Creative Cloud, Backblaze, Carbon Copy Cloner y cualquier antivirus que escanee al acceder. Si tienes alguna de estas en marcha, sospecha primero de ella.
Cómo saber si se resolverá por sí solo
Activity Monitor es el punto de partida natural, pero su vista de archivos abiertos es una ventana modal estática —sin búsqueda ni historial— y ese es justo el detalle que más a menudo resuelve este caso: qué rutas de archivo está leyendo mds_stores ahora mismo, y cómo evolucionan con el tiempo.
Paso 1: comprueba si la indexación está activada
Abre Terminal y ejecuta:
mdutil -s /
La salida es una de estas:
Indexing enabled— la indexación de Spotlight está activada para este volumenIndexing and searching disabled— la indexación está desactivada; una CPU alta aquí sería inusualError: unknown indexing state— el índice está en mal estado; señal clara para reconstruir
Repite el comando para cada volumen (mdutil -s /Volumes/External).
Importante: mdutil -s solo te dice si la indexación de Spotlight está activada en el volumen; no informa del progreso ni de si la indexación se está ejecutando activamente. Para responder a «¿sigue avanzando?», combínalo con: la tendencia de lectura de disco del Paso 2, si las rutas de archivo del panel Open Files cambian con el tiempo en el Paso 3, y si la propia ventana de búsqueda de Spotlight aún muestra una barra de estado «Indexando…» al abrirla.
Paso 2: observaciones rápidas en Activity Monitor
Pestaña CPU → ordena por CPU y confirma que mds_stores está arriba. Cambia a la pestaña Disco y ordena por Bytes leídos. Si mds_stores domina las lecturas de disco, está escaneando archivos activamente (que es lo que parece la indexación). Obsérvalo cinco minutos: ¿la CPU baja, se mantiene o sube?
Paso 3: identifica qué está indexando, con ProcXray
ProcXray está hecho a propósito para este tipo de diagnóstico entre recursos:
- El panel Open Files revela las rutas de archivo exactas que
mds_storestiene abiertas en este momento. Es la función estrella para este problema. Si las rutas se agrupan bajo~/Library/Mobile Documents/, tienes un detonante de iCloud; bajo~/Dropbox/o~/OneDrive/, la sincronización en la nube correspondiente; bajonode_modules/oDerivedData/, un flujo de desarrollo. - Resource History te permite recorrer hacia atrás horas de datos de CPU y E/S de disco. Una tendencia a la baja significa que terminará; una línea plana y sostenida durante muchas horas, una vez ya pasado el evento detonante, significa que está atascado.
- La columna de E/S por proceso te permite ordenar todos los procesos por lecturas y escrituras de disco, confirmando que
mds_storeses el motor de la E/S y no una coincidencia. - La vista Process Tree muestra la jerarquía
mds→mds_stores→mdworker_sharedy te permite ver si los procesos de trabajo están de verdad trabajando o inactivos.
Para más detalles sobre las carencias que deja Activity Monitor en este tipo de depuración, consulta ProcXray frente a Activity Monitor.
Paso 4: prueba A/B retirando los detonantes sospechosos
Una vez tengas una hipótesis, expulsa las unidades externas de una en una. Pausa las apps de sincronización en la nube. Cierra tus herramientas de compilación. Después de cada cambio, observa mds_stores durante un minuto. Una caída clara confirma la causa sin reiniciar ni interrumpir toda tu sesión.
Soluciones paso a paso
Aplícalas en orden: primero las más baratas y menos disruptivas.
1. Espera de 30 minutos a 2 horas en la primera observación
La solución que más se pasa por alto. La mayoría de las indexaciones terminan dentro de esta ventana. Conecta el Mac a la corriente y déjalo funcionar. Volver a un Mac que ha completado su índice es casi siempre el resultado correcto.
2. Añade la carpeta culpable a la Privacidad de búsqueda de Spotlight
Ajustes del Sistema → Spotlight → Privacidad de búsqueda → arrastra la carpeta dentro. Esto impide que Spotlight la indexe. Las carpetas que más merece la pena excluir:
- Directorios
node_modules - Salidas de compilación (
build/,dist/,target/, elDerivedDatade Xcode) - Carpetas de trabajo temporal, directorios de registros, carpetas de archivo grandes que nunca buscas
La contrapartida: esos archivos no aparecerán en la búsqueda de Spotlight. Para los artefactos de compilación y node_modules, casi siempre es la decisión correcta.
3. Pausa la sincronización en la nube temporalmente
Si el panel Open Files mostró que mds_stores leía de una carpeta de iCloud, Dropbox, OneDrive o Google Drive, pausa esa app. Si mds_stores se calma en pocos minutos, has confirmado la causa. Para una solución a largo plazo, acepta el coste de indexación o excluye la carpeta de la nube de Spotlight mediante la Privacidad de búsqueda. Si «Optimizar almacenamiento del Mac» de iCloud está activado y tienes espacio en disco, plantéate desactivarlo: el constante ciclo de expulsión/redescarga es una causa frecuente de bucles.
4. Desactiva la indexación en un volumen concreto
Para unidades externas que no buscas a través de Spotlight (p. ej., un disco de trabajo temporal, un archivo de medios). No desactives la indexación en un disco de copia de seguridad de Time Machine: Time Machine depende de la indexación de Spotlight de ese volumen.
sudo mdutil -i off /Volumes/External
Reactívala después con sudo mdutil -i on /Volumes/External.
5. Fuerza una reconstrucción limpia cuando el índice está corrupto
Si mdutil -s informó de «unknown indexing state», o si has descartado todos los detonantes y mds_stores sigue dando vueltas, borra y reconstruye el índice:
sudo mdutil -E /
Cuenta con entre 30 minutos y varias horas de CPU y disco altos mientras se reconstruye el índice: esa es la reconstrucción en sí, no un problema. Usa esto cuando hayas confirmado la corrupción, no como primer reflejo.
6. Último recurso: termina mds_stores directamente
macOS lo reiniciará limpiamente en segundos. Esto no soluciona el detonante, pero puede interrumpir un bucle descontrolado el tiempo suficiente para investigar. Usa «Forzar salida» de Activity Monitor, o:
sudo killall mds_stores
No recomendado: desactivar Spotlight permanentemente con sudo mdutil -a -i off. Pierdes la búsqueda de Spotlight, la búsqueda de Mail y cualquier app que dependa de las API de metadatos subyacentes. Casi nunca es la solución correcta; excluye en su lugar las carpetas ruidosas mediante la Privacidad de búsqueda.
Para un análisis de rendimiento más amplio cuando mds_stores no es el único sospechoso, consulta cómo arreglar un Mac lento terminando los procesos correctos.
Preguntas frecuentes
¿Puedo terminar mds_stores con seguridad?
Sí. macOS lo reinicia automáticamente en segundos. Terminarlo interrumpe lo que esté haciendo, pero no daña el índice ni tus datos. La trampa: si lo terminas y la misma carga lo vuelve a disparar de inmediato, no has arreglado nada; solo has confirmado que la causa persiste y necesita una solución real de la lista de arriba.
¿Cuánto debería tardar una indexación normal?
Índice inicial en un Mac recién configurado: de 30 minutos a 2 horas es lo típico, hasta 4–6 horas en carpetas de inicio muy grandes. Una unidad externa de 1 TB recién montada: aproximadamente proporcional al número de archivos, a menudo de 1 a 4 horas. Indexación tras una ráfaga de sincronización en la nube: minutos. Una actividad sostenida más allá de 24 horas sobre un conjunto de archivos estable es inusual y apunta o bien a un proceso atascado, o bien a una fuente de trasiego descontrolada.
¿Por qué mds_stores reinicia la indexación una y otra vez sobre los mismos archivos?
Casi siempre es una app de sincronización en la nube o una herramienta de copia de seguridad que toca repetidamente los mismos archivos. Optimizar almacenamiento del Mac de iCloud Drive es un infractor frecuente: expulsa y vuelve a descargar archivos, y cada ciclo vuelve a disparar Spotlight sobre el archivo afectado. Revisa Ajustes del Sistema → [Tu nombre] → iCloud → iCloud Drive → Optimizar almacenamiento del Mac. Desactivarlo (si tienes espacio en disco) resuelve a menudo el bucle.
¿Debería desactivar Spotlight permanentemente?
No, salvo que tengas un motivo muy concreto y no uses Spotlight, Mail ni ninguna función de búsqueda del sistema. Muchas apps dependen de las API de metadatos subyacentes: desactivar Spotlight rompe más que el icono de la lupa. Excluir las carpetas ruidosas mediante la Privacidad de búsqueda te da la mayor parte del beneficio con casi ninguno de los costes.
¿Por qué mds_stores usa disco pero apenas CPU?
La indexación está en gran medida limitada por la E/S. mds_stores pasa la mayor parte del tiempo leyendo el contenido de los archivos desde el disco, con breves ráfagas de CPU para analizar los metadatos. Disco alto + CPU baja es la firma normal de la indexación. Si la CPU también está alta, el indexador está alcanzando muchos archivos pequeños, algo típico de node_modules, buzones de correo u objetos de git.
Fuentes y referencias
- Soporte de Apple — Cambiar los ajustes de Spotlight en el Mac
man mdutil(página de manual integrada en macOS) — referencia oficial del comandomdutil- WindowServer con CPU alta en Mac
- kernel_task con CPU alta en Mac
- ProcXray frente a Activity Monitor
- Cómo monitorizar procesos en macOS: una guía completa para desarrolladores
Descarga ProcXray gratis → — ve exactamente qué archivos está indexando mds_stores ahora mismo. macOS Sonoma+, Apple Silicon e Intel.