mds_stores High CPU on Mac: Causes and Fixes
Opened Activity Monitor and found mds_stores or mdworker pinning your processor and spinning up the fans? These are Spotlight's indexing engines. Here's exactly what they do, why they spike, and how to calm them down.
What Is mds_stores on Mac?
If you open Activity Monitor and sort by CPU, you may spot a process named mds_stores — often alongside its siblings mds and one or more mdworker processes — consuming a surprising amount of your processor. This is not malware, and it is not a sign that something is broken. All three belong to Spotlight, the search technology built into macOS.
The name comes from "metadata server." Spotlight maintains a searchable index of nearly everything on your Mac: file names, contents, email, messages, contacts, calendar events, and application data. The mds process is the coordinator, mds_stores manages the on-disk index databases, and the mdworker (and mdworker_shared) processes do the actual work of reading files and extracting searchable text and metadata. Together they let you press Command + Space and find any file in a fraction of a second.
.Spotlight-V100 at the root of each indexed volume. You never interact with it directly — Spotlight manages it entirely on its own.
Why Does mds_stores Use So Much CPU?
Under normal conditions, Spotlight indexing runs quietly in the background and uses very little CPU. A spike almost always means Spotlight is doing a large, one-time job of scanning and indexing files. The most common triggers are:
- A recent macOS update. Major updates frequently invalidate the existing index, forcing Spotlight to rebuild it from scratch. This can run for hours and is the single most common cause of unexpected mds_stores activity.
- A large file transfer or restore. Copying thousands of files, restoring from a Time Machine backup, or migrating to a new Mac gives Spotlight an enormous amount of new content to index all at once.
- An external drive was just connected. By default, macOS indexes external and network volumes the first time it sees them. A large USB drive or NAS can keep mdworker busy for a long time.
- A corrupted index. If the index database becomes damaged, Spotlight may loop endlessly trying to repair or rewrite it, causing sustained high CPU that never settles down.
- Constantly changing files. Development build folders, log directories, cloud-sync folders, and virtual machine disk images change constantly, and each change asks Spotlight to re-index.
In the first three cases, the fix is simply patience — let the index finish and CPU usage will return to near zero. The last two cases usually require intervention, which we cover below.
Is High mds_stores CPU Normal?
Short bursts are completely normal and expected. If you just updated macOS, restored files, or plugged in a new drive, seeing mds_stores or mdworker near the top of Activity Monitor for a while is exactly how the system should behave. The right move is to leave your Mac plugged in, connected to Wi-Fi, and awake for an hour or two so indexing can complete.
What is not normal is high CPU that persists for days, returns immediately after a restart, or never seems to finish. That pattern points to a corrupted index or a folder full of rapidly changing files that Spotlight keeps chasing. If you have waited overnight and the process is still hammering your CPU the next morning, it is time to rebuild the index.
How to Rebuild the Spotlight Index
Rebuilding the index deletes the existing (possibly corrupted) database and forces Spotlight to create a fresh one. You will get a burst of high CPU while it rebuilds, but once complete, everyday indexing should return to normal. There are two ways to do it.
Method 1: System Settings
-
1
Open System Settings. Click the Apple menu and choose System Settings (called System Preferences on older macOS versions).
-
2
Go to Siri & Spotlight. Scroll to the Spotlight section and open Spotlight Privacy (the "Search Privacy" list).
-
3
Add your drive to the exclusion list. Drag your startup disk (Macintosh HD) into the privacy list, or click the + button and select it. Confirm when prompted.
-
4
Remove it again. Select the drive you just added and click the − button to remove it. As soon as it leaves the privacy list, Spotlight discards the old index and begins a full rebuild.
Method 2: Terminal
If you prefer the command line, you can trigger the same rebuild with a single command. Open Terminal and run:
sudo mdutil -E /
The -E flag erases and rebuilds the index for the specified volume (/ is your startup disk). You will be asked for your administrator password. To check indexing status at any time, run mdutil -s /. To temporarily turn indexing off for a volume, use sudo mdutil -i off /, and on to re-enable it.
Exclude Problem Folders From Spotlight
If a specific folder is causing endless re-indexing — a development build directory, a Docker or virtual machine image, or a giant log folder — the cleanest fix is to tell Spotlight to ignore it. Add the folder to the same Spotlight Privacy list described above, and macOS will stop indexing its contents entirely. You lose the ability to search that folder with Spotlight, which is a fair trade for folders full of transient files you would never search anyway.
Common candidates to exclude:
- Xcode DerivedData and other build-output directories that regenerate on every compile.
- Virtual machine and Docker disk images, which are enormous single files that change constantly.
- External backup or archive drives you rarely search.
- Cloud-sync working folders that stream files in and out continuously.
Excluding these folders often eliminates chronic mdworker activity that no amount of rebuilding would fix, because the root cause was the churn of files, not a broken index.
Free Up Disk Space to Help Indexing
Spotlight indexing is heavier and slower when your startup disk is nearly full. macOS relies on free space for temporary index files and for the swap that supports background processes. When the drive is packed, indexing thrashes the disk, competes with the system for memory, and takes far longer to complete — which means mds_stores stays busy longer than it should.
Clearing out caches, logs, old downloads, and other junk gives Spotlight room to work efficiently. It also reduces the sheer number of files Spotlight has to track. TrimyMac's Smart Clean finds gigabytes of safe-to-remove clutter — app caches, log files, and leftover installers — in one scan, so indexing has the breathing room it needs.
Give Spotlight Room to Breathe
TrimyMac Smart Clean reclaims disk space so background processes like Spotlight indexing run faster and finish sooner. Free download for macOS.
Download TrimyMac FreeFrequently Asked Questions
How long should mds_stores high CPU last?
For a routine re-index after an update or file transfer, expect elevated CPU for anywhere from a few minutes to a couple of hours, depending on how many files you have and how fast your storage is. A full rebuild of a large SSD typically finishes within an hour or two if the Mac stays awake. If mds_stores is still consuming heavy CPU after a full day, or if it resumes immediately after every restart, the index is likely corrupted and should be rebuilt manually.
Is it safe to disable Spotlight indexing?
You can safely disable indexing with sudo mdutil -i off /, but it comes with a real cost: Spotlight search, and any app that depends on it, will stop finding files. Mail search, "Go to Folder" suggestions, and many quick-launch features rely on the index. For most people, excluding a few problem folders is a far better solution than turning Spotlight off entirely. Disable indexing only as a temporary diagnostic step, and turn it back on with sudo mdutil -i on / when you are done.
What is the difference between mds, mds_stores, and mdworker?
They are three parts of the same Spotlight system. mds is the metadata server that coordinates the whole operation. mds_stores manages the on-disk index databases where searchable metadata is stored. mdworker and mdworker_shared are the worker processes that open individual files, extract their text and metadata, and hand the results back to be indexed. High CPU usually shows up on mds_stores or mdworker because those two do the heavy lifting of reading files and writing the index.
Why does mdworker restart constantly?
macOS deliberately spawns short-lived mdworker processes to index files in batches, then retires them. Seeing new mdworker processes appear and disappear is normal. What is not normal is dozens of them running continuously for days, which usually means a folder of constantly changing files is triggering endless re-indexing. Identify that folder and add it to the Spotlight Privacy exclusion list to stop the churn.
Could mds_stores high CPU be a virus?
No. mds_stores is a legitimate, Apple-signed macOS system process that lives in /System/Library/Frameworks/CoreServices.framework. It is part of Spotlight and ships with every Mac. If you want to confirm it is genuine, select the process in Activity Monitor, click the "i" button, and check that its path is inside the system framework directory. Malware sometimes mimics familiar names, so verifying the path is a good habit — but the real mds_stores is safe.