Why does MDS run wild in Mac OS X 10.6?

112

92

I've been having trouble with the MDS process running wild on my MacBook Pro 13". I've read on other support forums indicating that improperly formatted external drives can be an issue, but I have no drives connected. How can this problem be debugged and fixed?

If it helps, I do have a massive Mail archive. I have not turned off the indexing of this archive, because I haven't been able to find a correlation between the two, but I'm considering it.

(This might be normal right after doing an upgrade from 10.5 to 10.6, in which case the Spotlight search index needs to be rebuilt by mds. But in this case it's been a few weeks.)

kubi

Posted 2009-09-24T13:01:56.447

Reputation: 1 288

For your information, this typical nightmare of Spotlight still happens on actual Yosemite versions. I can't tell for El Capitan yet. – dan – 2016-04-18T09:11:35.057

I did a 'sudo killall -9 mdworker' on my wife's macbook and that seems to have solved her disappearing memory problem. – copper.hat – 2014-03-29T06:10:31.483

Answers

114

To see what mds and more importantly its child mdworker is actually doing - use fs_usage to log what files it is opening:

sudo fs_usage -w -f filesys mdworker

Though there is a lot of unintelligable stuff in there, it does tell you when it opens a file to begin reading from it. Copying a PDF into my filesystem shows mdworker opening the file then immediately after lots of activity...

p.s. if you want a little less detail, this will just list the open file points:

sudo fs_usage -w -f filesys mdworker | egrep "open"

The Tentacle

Posted 2009-09-24T13:01:56.447

Reputation: 4 621

Excellent receipe to analyze this problem. ---- I would suggest to add the following prerequisite since this is an easy to fix and frequent cause of mds looping: check the filesystem with Disk Utility. – dan – 2016-04-18T09:24:55.577

1The Tentacle's answer worked for me. Specifically: My spotlight processes were hanging at 100% CPU and never completed indexing. With fs_usage I was able to see exactly which files hung up mdworker. I deleted the offending folders (they likely had a symlink loop), restarted the Spotlight processes, and everything worked. – Nathan Bowers – 2011-02-12T23:44:09.187

8IMPORTANT: once you figure out which folders or files are causing Spotlight processes to hang, exclude them from Spotlight indexing via the Spotlight "Privacy" settings tab. Sometimes the problem files are auto generated by OSX. – Nathan Bowers – 2011-02-14T21:40:39.037

5If it really is the mds process that runs wild, just replace the mdworker in the command with mds. (This helped me to diagnose the issue when Spotlight suddenly decided to index my Bootcamp partition.) Thanks! – Jari Keinänen – 2011-03-02T18:38:14.177

This shows the file names but not the folders. Specifically, it is using a lot of CPU while building certain applications in MacPorts. I have already excluded /opt and I think it is indexing /tmp, where some of the compiler files are being written. How do I find the complete path of these files it is indexing? – highBandWidth – 2011-06-09T23:17:29.280

In my case, a series of backups/restores/OS reinstallations meant that Backblaze’s cache (/Library/Backblaze) was removed from Spotlight & Time Machine exclusion rules. – Alan H. – 2012-03-09T01:07:19.253

I wasn't able to solve my problem (haven't seen the MDS issue lately), but I did learn some good debugging commands for situations like this, which is what I asked for. – kubi – 2009-09-28T18:20:26.817

Hmm - since spotlight seems to be trying to be clever in the UI when disabling time machine backups (it notifies it will still be indexing parts of the drive) - I've resorted to command line stuff from here- http://www.mikesel.info/disable-spotlight/ - to try and stop it hitting it,

– Danny Staple – 2012-06-05T16:42:50.000

This answer is gold! I had mds and distnoted periodically causing a CPU load of ~4. It reduced the battery life of my fairly young mid 2012 MBA 13" to merely 3:45 hrs! The root of the cause was how these processes kept working in Chrome's Application Support directory. Now, I get about 30min more battery life. – king_julien – 2013-05-01T09:27:42.183

30

In the rare case that you would like to disable spotlight, use the following command:

sudo mdutil -a -i off

To re-enable:

sudo mdutil -a -i on

shaond

Posted 2009-09-24T13:01:56.447

Reputation: 655

3

Just wanted to note that Spotlight/MDS may not be the issue at all. Errors with Time Machine (particularly where Time Machine takes a long time to "index") can create a situation where Spotlight tries to continually index the same files.

duffbeer703

Posted 2009-09-24T13:01:56.447

Reputation: 231