Mac OS X Lion Spotlight 最佳化指南

來源:互聯網
上載者:User

標籤:style   http   io   color   ar   os   使用   sp   檔案   

新買的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需要索引的硬碟,一些移動硬碟和隨身碟什麼的,其實就不需要索引了。
開啟終端,輸入下面的命令:
  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,參照這篇文章進行最佳化了。

Mac OS X Lion Spotlight 最佳化指南

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.