Volver al blog

mds_stores con CPU alta en Mac: cuándo esperar y cuándo intervenir

¿mds_stores devora CPU y disco? Es el indexador por volumen de Spotlight. La mayoría de los picos son trabajo real que se resuelve solo: aprende a distinguir una indexación legítima de un proceso atascado y qué lo soluciona de verdad.

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:

  1. Lleva más de 24 horas ejecutándose sobre el mismo volumen sin avanzar.
  2. 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.
  3. 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:

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:

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:

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:

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:

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


Descarga ProcXray gratis → — ve exactamente qué archivos está indexando mds_stores ahora mismo. macOS Sonoma+, Apple Silicon e Intel.