gitを使っている場合、大きめのcommitをしたり、大きめのリポジトリをcloneしてきたりすると.gitの中がspotlightの検索対象になってしまう。
このせいでmds_storesがCPU喰ってしまう事がある。
心当たりがあれば、以下の方法でspotlightのindexから.gitを除外すると良いと思う。
spotlightの除外の設定は
/.Spotlight-V100/VolumeConfiguration.plist
に書いてある
<key>Exclusions</key> <array/>
が対象になる。
plistファイルなので、直接書き換えてもいいが、
defaults で
$ sudo defaults write /.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add 'path/to/exclude'
これで設定が可能になる
まずは今の設定の確認をすると空っぽなことも確認出来る。
$ sudo defaults read /.Spotlight-V100/VolumeConfiguration.plist Exclusions ( )
一個一個設定するのも大変なので、
$ sudo locate .git |grep "/.git$" | xargs -I {} defaults write /.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add {} $ ( "/Users/user/repos/github.com/OurCompany/tools/.git", "/Users/user/repos/github.com/OurCompanylab/OurCompanylab-sdk-java/.git", "/Users/user/repos/github.com/OurCompanylab/commons/.git", "/Users/user/repos/github.com/OurCompanylab/master-db/.git", "/Users/user/repos/github.com/OurCompanylab/matching/.git", "/Users/user/repos/github.com/env-OurCompany-router/.git", "/Users/user/repos/github.com/machine-learning/.git", "/Users/user/repos/github.com/OurCompany/OurService/.git", "/Users/user/repos/github.com/OurCompany/OurService/OurService_kaizen_batch/.git", "/Users/user/repos/github.com/OurCompany/OurService/OurService_learn/.git", 〜略〜
無事に.gitディレクトリがExcludeに入った。
リセットしたいときは
$ sudo defaults write /.Spotlight-V100/VolumeConfiguration.plist Exclusions -array