Mac OS X Lion Spotlight 优化指南

新买的mbp突然间用不了spotlight了,

看到了这篇文章用里面的关掉spolight再重开spotlight解决。

原帖链接: Mac OS X Lion Spotlight 优化指南http://bbs.feng.com/read-htm-tid-4008789.html

Spotlight是一个让我又爱又恨的东西,一方面他确实相当好用,但是另外一方面,他也确实占用了不少系统资源,在进行大量文件操作的时候,经常将CPU占满,可以将我可怜的mbp烧到80度左右,所以不能不好好的折腾他一下了,这里总结一些这两天摸索出来的Spotlight调优的方法,希望能对大家也有些帮助。

以下优化是在Mac OS X Lion 10.7.2 的系统上实践出来的,其他版本的系统可能有一些不一样,大家可以Google一下具体的方法,但是基本步骤应该是差不多的。

小苹果使用Mac现在总时间还不超过一周,所以很多东西理解的可能是不对的(什么可能啊,是应该吧),有不正确的地方,还请大家多多指正,也欢迎大家来我的博客多多交流:http://bigasp.com/

Spotlight简介

Spotlight是Mac系统中的查找服务,为了能使查找更加的迅速,Mac系统会在后台运行一个索引服务,在有文件操作或者资料更新,如iTunes,Mail等,就会为他们建立一个索引,用于加速Spotlight的查找。

所以,Spotlight其实分为两个部分:前台Spotlight的查找服务Search.bundle,和后台的索引服务mds。

优化Spotlight,其实就是优化这两个服务。

基本优化方案:减少需要索引的内容

根据上面的介绍,那么我们可以想到,最简单的优化就是减少需要索引的内容。

首先,在Spotlight的设置中选择我们需要索引的内容。

打开系统偏好设置->Spotlight,在搜索结果这个Tab栏内,我们把所有我们不关心的内容全部勾选掉。

我只勾选了:应用程序,系统偏好设置,通讯录和音乐。这些对我来说够用了。

然后,将我们不需要索引的文件夹都加入Spotlight的黑名单。

在系统偏好设置->Spotlight中的隐私Tab中,我们可以选择那些目录是Spotlight不用去索引的,我们可以利用这个目录来大大减少我们需要索引的文件量。

打开Finder,点击菜单中的前往->前往文件夹,转到根目录/, 将文件夹中除了应用程序和用户的目录,全部放入黑名单。

需要注意的是:其实用户目录也可以放入黑名单,Spotlight中显示的音乐,联系人和邮件,其实是靠和这些软件数据库直接联系来建立索引的,所以和文件夹的索引没有太大的联系,也可以放入黑名单。这里看大家的喜好,我全放进去了。

另外还需要注意的是:这里需要在Finder里面显示所有隐藏文件,因为一些和系统相关的目录,如/usr,其实都没有索引的必要,都可以放入黑名单。如果显示文件的方法不会的话,大家可以去Google一下。

最后,我们还需要再设置一下Spotlight需要索引的硬盘,一些移动硬盘和U盘什么的,其实就不需要索引了。

打开终端,输入下面的命令:

  1. # 关闭所有磁盘的索引服务
  2. sudo mdutil -a -i off
  3. # 只打开主硬盘的索引服务,我的主硬盘被挂载到/Volumes/Macintosh HD目录下(默认设置),大家可以根据具体情况修改。
  4. sudo mdutil -i on "/Volumes/Macintosh HD"

复制代码

如果上面的指令执行错误,可以使用如下命令来恢复对所有磁盘的索引。

  1. sudo mdutil -a -i on

复制代码

好,到此我们已经完成了第一步优化了。

此时大家可以看到Spotlight在重建索引了,在我的机器上,原来完全建立一次索引需要2小时,现在只需要几分钟了。

替换优化方案 I:替换Spotlight的前端部分

OK,在完成基本优化方案之后,既然我们已经将Spotlight阉割成了这般田地。那我们干脆换掉Spotlight使用其他的软件替代好了。

这里有一个不错的免费软件推荐:Alfred。大家可以直接在App Store中搜索安装即可,过程就不赘述了。

隐藏任务栏中的Spotlight图标

这个方案问题的关键在于:既然Spotlight都不需要了,我们也就不需要显示它了。

关闭它的方法很简单,在终端里面输入如下指令即可:

  1. sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search2.bundle
  2. ps aux | grep SystemUIServer | grep -v grep | awk '{print $2}' | xargs kill

复制代码

现在我们就会发现桌面上的Spotlight图标不见了,这一步优化也就宣告完成了。

当然想要恢复也很简单,输入如下命令即可恢复:

  1. sudo mv /System/Library/CoreServices/Search2.bundle /System/Library/CoreServices/Search.bundle
  2. ps aux | grep SystemUIServer | grep -v grep | awk '{print $2}' | xargs kill

复制代码

替换优化方案 II:替换整个Spotlight

完全停止Spotlight的意思是不仅仅关闭掉Spotlight的桌面搜索,还停止掉Spotlight的后台索引服务。

所以友情提醒:前方有怪兽!将Spotlight关闭之后,依赖于Spotlight的索引服务的软件将无法正常运行,如Alfred将无法显示搜索结果(依赖于Spotlight索引服务mds),请小心处理,如果引起诡异的问题,与笔者无关。

这个方案是我暂时最喜欢的,因为在系统中Spotlight的索引服务还是随时在运行的,所以它依然会占用我们的系统资源,而我们又无法控制,完全替换他,才是我们最好的选择。

好,让我们开始吧。

完全停止Spotlight后台索引

在完成替换优化方案I之后,我们可以输入如下命令来完全停止Spotlight的索引。

  1. sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

复制代码

在输入完这条指令之后,大家可以查看一下当前系统内是否还存在mds和mdsworker的进程。他们应该都退出了。

至此,Spotlight算是基本被我们给干掉了。

当然,如果我们后悔了,我们也可以通过如下命令来恢复。

  1. sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

复制代码

恢复完成之后,不要忘了检查基本优化方案里面的内容哦,因为停止后台索引服务后,索引工作也停止了。

安装替代软件

那在没有后台索引服务的情况下,我们还能不能享受到和Spotlight这种类似的功能呢?

这里再推荐一个小软件:Launchy。下载页面:http://www.launchy.net/download.php#osx,我安装的是2.6
Beta 2的版本。

这款软件里面会建立自己的索引,虽然就功能而言,不及Alfred强大,但也已经相差无几,对于图片,视频的索引是否又必要,个人持保留态度,原因相信大家都懂的,所以基本上对我来说已经够用了。

在这个软件里面,我们可以自己设定软件的索引范围,或者禁止它自动更新索引,这样,就可以让我们最大程度上的控制这个后台服务了。

总结

到此为止,整个Spotlight的优化算是完成了,我可怜的mbp温度终于降低一些了,而且也不会因为大量文件操作导致温度飙升了。总的来说,折腾还是有些效果的,希望能对大家也有些帮助吧。

=================== 华丽丽的分割线 ===================

2012-02-12 补充

1. Launchy 2.6 Beta和2.5貌似在一些机器上经常Crash,大家可以使用QuickSilver(http://www.blacktree.com/),或者自行搜索其他软件来替代,只要是自建索引的就行。

2. 其实如果没有大量的文件操作,Spotlight对系统的影响还是不大的,mds占用CPU一般是3% - 5%左右,没有太大必要进行优化。但是如果发现最近电脑温度很高,或者电池消耗很快,就可以检查一下Spotlight,参照这篇文章进行优化了。

时间: 2024-08-11 23:20:38

Mac OS X Lion Spotlight 优化指南的相关文章

VMware 7.1.4安装Mac.OS.X.Lion.操作系统

使用的操作系统操作系统 windows7 SP1 X64 本教程所用 的软件的下载地址都在本教程中 ) 电脑内存低于 4G 的,加内存吧 … 1. SecurAble (检测你的 CPU 是否支持硬件级虚拟模式) 当 Hardware Virtualization 为 Yes 或者 Locked ON 的时候才可以使用虚拟机, 如果你的 CPU 支持硬件级虚拟模式但是 Hardware Virtualization 显示为 Locked OFF ,说明你未 开启,进入 BIOS 中开启即可. 下

samba server on Mac OS X Lion Server

一般Mac共享通过配置wins,smb即可实现.注意在同一个工作组! 参考:http://computers.tutsplus.com/tutorials/how-to-set-up-an-smb-server-in-os-x-and-windows-8--mac-46276 无奈配置后,各种折腾,xp始终无法访问共享资源.(win7居然可以访问,也只听见蛋碎的声音). 解决办法: 安装samba3, 关闭wins smb服务.通过自己配置的samba开共享 1.从App Store中安装 Xc

Mac OS X 背后的故事

Mac OS X 背后的故事 作者: 王越  来源: <程序员>  发布时间: 2013-01-22 10:55  阅读: 25840 次  推荐: 49   原文链接   [收藏] 作者王越,美国宾夕法尼亚大学计算机系研究生,中国著名 TeX 开发者,非著名 OpenFOAM 开发者. Mac OS X 背后的故事(一)力挽狂澜的Ellen Hancock Mac OS X 背后的故事(二)Linus Torvalds的短视 Mac OS X 背后的故事(三)Mach之父Avie Tevan

在Mac OS X中使用mtr诊断路由节点问题

这个工具是从阿里云客服那知道的,当时遇到阿里云CDN的一个节点出现丢包问题,用这个工具诊断路由节点问题. 1. 下载地址:http://rudix.org/packages/mtr.html(在园子里下载) 2. 下载后运行mtr-0.85-0.pkg进行安装 3.  cd /usr/local/sbin ,就会看mtr文件. 4. 运行mtr出现提示 -bash: mtr: command not found 解决方法: alias mtr=/usr/local/sbin/mtr 5. 继续运

详解VMware 9.0.1安装MAC OS X 10.8(历时近3日感想篇)

突然心血来潮,想用VMware 9.0.1安装MAC OS X,但网上的文章多多少少总有点缺陷,不能适合每一个人,在综合了近30篇安装MAC OS X的文章后,我决定发布一篇比较大众化,比较详尽的MAC OS X安装过程. 一.准备工作: (1)虚拟机系统:vmware workstation 9,(或vmware player),请自行在网上下载. (2)vmware的MAC补丁包.如果你使用的是vmware10,请下载补丁包V1.20,如果是vmware8或9,请下载补丁包V1.10. (3

[C] zintrin.h : 智能引入intrinsic函数。支持VC、GCC,兼容Windows、Linux、Mac OS X

博客来源:http://blog.csdn.net/zyl910/article/details/8100744 现在很多编译器支持intrinsic函数,这给编写SSE等SIMD代码带来了方便.但是各个编译器略有差异,于是我编写了zintrin.h,智能引入intrinsic函数. 一.各种编译器的区别 1.1 Visual C++(Windows) 最早支持intrinsic函数的VC编译器是VC 6.0.它在装上Visual Studio 6.0 Service Pack 5.Visual

教你如何制作OS X Lion启动U盘与使用U盘安装系统

教你如何制作OS X Lion启动U盘与使用U盘安装系统 [教程] 不用终端,点点鼠标,傻瓜式制作OS X 10.7~10.9各版本安装U盘--DiskMaker X http://bbs.feng.com/read-htm-tid-7883207.html 在WINDOWS或OS X中制作OS X Mountain Lion 10.8.5 12F37/Mavericks 10.9.4 http://bbs.feng.com/read-htm-tid-8129440.html good luck

Mac OS X上使用Wireshark抓包

Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的XQuartz(X11.app).因此,在Mac OS X上安装Wireshark之前,需要先下载安装XQuartz. 1.安装XQuartz XQuartz(XQuartz-2.7.6.dmg)安装完成后,按照提示需要注销重新登录,以使XQuartz作为默认的X11 Server. 安装成功后,在终

[转]Debugging the Mac OS X kernel with VMware and GDB

Source:?http://ho.ax/posts/2012/02/debugging-the-mac-os-x-kernel-with-vmware-and-gdb/ Source:?http://ho.ax/posts/2012/02/vmware-hardware-debugging/ Edit 13 July 2013: I've made a couple of updates to this post to clarify a couple of things and resolv