我的 Mac (Macbook Pro) 有時在執行基本任務時速度很慢,例如瀏覽網頁或類似的操作。如果我打開“活動監視器”,我(可能)有一個程式佔用大約 10% 的 CPU,其他程式則低於 1%。我的CPU使用率未滿。我仍然有超過 2 GB 的可用內存(5 GB 中)。沒有複製文件等繁重的 I/O 活動。
我打開的程式是Google Chrome(6 個選項卡,其中沒有一個以某種方式(flash、許多DOM 物件、Javascript)具有IMO,除了Gmail)、活動監視器、Finder、Sublime Text 2(文字編輯器)和iTerm(終端) )。
是什麼導致了經濟放緩? 「慢」是:花時間寫這些字元(我按下鍵盤按鍵,但在螢幕上看到它們之前有一段延遲)、更改選項卡或程式等。
答案1
警告!這個“答案”做解決了這個問題,但還包括了更多信息,我希望一些人可以從中受益。
對許多人來說,這是已知的資訊。不過,它可能會對新用戶有所幫助。
擁有太多了Mac 運行緩慢的經歷,這是我遇到的一件事做知道的是(不幸的是)可能有無數原因。
上面關於 Spotlight 索引的答案確實是可能的罪魁禍首之一。如果選單列右上角的 Spotlight 放大鏡圖示包含一個微妙地放大和縮小的小點,則 Spotlight 正在為您的硬碟建立索引(包括每個檔案的內容)。但根據我的經驗,當我繼續瀏覽、發送電子郵件、使用 Photoshop、Pages 等時,Spotlight 並沒有造成嚴重的效能損失。
如果需要,您可以進入“系統偏好設定”->“Spotlight”->“隱私權”,然後點擊最左欄左下角的加號。新增您的啟動磁碟機和任何其他連接的磁碟機。這將阻止 Spotlight 建立索引並消耗您的儲存 I/O、CPU 和其他系統資源。
然後,如果您確實希望 Spotlight 對所有內容建立索引(例如,當您睡覺時),請執行相反的操作,突出顯示「隱私」列中的每個驅動器,然後按一下減號。聚光燈應該恢復,放大鏡應再次脈動。 (允許您刪除當前 Spotlight 索引的共享軟體實用程式可能不是一個壞主意,因為 Spotlight 會在您睡覺時重新啟動並運行而不會受到干擾。)
Spotlight 第一次索引整個卷時需要很長時間,但此後(對我來說)沒有檢測到明顯的性能變化,因為它只逐漸地索引新建立的檔案和資料(遠的比第一次運行時更少的索引所有的體積)。
活動監視器已被證明是一個不可或缺的工具,可用於查看所有正在運行且對您來說不明顯的「不可見」進程。 Mac OS X 的幕後工作可能會給您留下深刻的印象。
在「活動監視器」中,從彈出式功能表中選擇以查看「所有進程,分層」。
然後按一下 CPU 列,該列根據所有進程使用的 CPU MHz 對所有進程進行排序。這種排序方法並不完美,因為您會注意到在其他進程中運行的守護程序或進程並顯示大量的 CPU 使用率,但可能不會像您期望的那樣出現在排序列表的頂部。此外,這是實時的,因此進程迅速不斷地在清單中上下跳躍。
除了 CPU 消耗之外,活動監視器還會顯示進程正在使用的執行緒數。十幾個或更多執行緒意味著進程正在為其自身分配大量資源。我不關注記憶體消耗,因為它是虛擬記憶體並使用硬碟空間作為虛擬RAM。如果您要將活動監視器中的應用程式和進程聲稱為自己分配的總虛擬記憶體加起來,您可能會認為需要安裝 1 TB 的 RAM!虛擬內存在後台順利運行,不需要您的關注。 (感謝 Avi、Bertrand、Jordan 等人)喔!最好保留 15-20% 的引導卷沒用過。運行時,Mac OS X 和許多應用程式會暫時「停放」程式碼,否則會耗盡有限的 RAM。他們將這個硬碟空間視為 RAM,儘管 RAM 很慢。
許多程式(例如 Photoshop)使用可用磁碟機空間作為「暫存碟」。這就是您如何在僅安裝 2GB RAM 的情況下在 Photoshop 中處理 4GB 映像檔!
在活動監視器中查看,使用超過 50% CPU 的應用程式或進程應該是可疑的。 (儘管有些單體程式會這樣做,而且這是正常的。)
如果您不需要應用程式保存或「記住」任何內容,您可以在活動監視器中強制退出它(紅色八角形停止標誌形狀的按鈕- 但當您嘗試突出顯示正在跳過所有內容的應用程式或進程時,這很棘手不到一秒鐘就飛越了這個地方!
我以前也這樣做過,然後重新啟動應用程序,發現 CPU 使用率從之前的 54% 降到了之後的 9%。因此,應用程式之前運行並且沒有崩潰,但其部分程式碼可能陷入無限循環或其他情況。退出並重新啟動應該可以解決此問題。
清理閣樓(和地窖)
即使在 Mac OS Classic 之後,老式的 Mac 關機(而不僅僅是重新啟動)也確實可以創造奇蹟。如果您從選單列中選擇“關閉”,當除了壁紙之外的所有內容都消失時,您會看到旋轉器旋轉一段時間,這很好! Mac OS X 正在做一些內務處理,也許會保存您的系統配置,考慮所有內部修改、外部設備(硬碟、印表機、掃描器、第三方鍵盤、滑鼠、Wacom 平板電腦等)以及它們的使用方式連接的; USB、FireWire、eSATA PCI 卡、藍牙、Wi-Fi 等,創建需要加載的擴展和內核的緩存,這樣就不必在每次啟動時“釣魚”,更新 bootcacheplaylist、文件系統日記,等等。
關閉完成後,等待所有內部和外部驅動器停止旋轉並關閉(靜音!)
然後按住 Shift 鍵,同時按下電腦的開機按鈕。請勿放開 Shift 鍵。 Mac 的啟動時間比正常情況要長一些,但請按住 Shift 鍵,直到看到 Apple 徽標和看到旋轉器開始旋轉。現在您可以釋放 Shift 鍵。
如果您沒有將 Mac OS X 設定為“自動登入”,您最終將看到登入窗口,帳戶名稱上方會顯示紅色的“安全啟動”字樣。
等待!暫時不要登入!
你看,Apple 會告訴你的關於「安全模式」的所有內容就是,當你的 Mac 在「完全啟動」模式下出現問題時,它是一種故障排除方法。
蘋果表示,安全模式不會加載任何第三方擴充功能(甚至是蘋果自己的一些擴充功能),也不會加載您在“系統偏好設定”—>“帳戶”中選擇的任何啟動項,也不會加載大多數選單欄項目。
這都是真的,但我逐漸了解到「安全啟動」可以進行各種幕後修復、檢查、修復和維護以及許多其他「好東西」。
(但經過多年的尋找,沒有人能夠確切地告訴我具體是什麼。他們說,「相信我。它正在做好事。)
我知道它忽略內核擴展緩存,迫使作業系統重新查找並加載必要的內核擴展。 (如果您仍處於登入畫面,它甚至會檢查並修復引導卷,這是磁碟工具或任何第三方磁碟工具無法且拒絕執行的操作。)
在「安全啟動」下,當在登入畫面上時,此時僅加載了OS X 的最小部分,因此Apple 的安全啟動「實用雜務」在一個基本環境中完成工作,該環境沒有數百個作業系統文件,這些文件在登入畫面後載入你登入。
在安全啟動中,我將其留在登入畫面上 10 分鐘左右。我發現工作正在進行中前當我注意到我的外部磁碟機的活動指示器顯示大量磁碟活動時,您登入了。
驅動器指示燈會在 10 分鐘或更短時間後停止。
然後我登入。然後,我不會碰任何東西(甚至不碰鍵盤或滑鼠),因為登入後有用的 Good Stuff 會運行幾分鐘,而且我不想啟動程序,甚至不想使用鍵盤或滑鼠。我希望安全啟動能夠不受干擾地履行其職責。
我去喝杯咖啡,或在iPad 上啟動App Store,檢查應用程式的更新(我做這件事的頻率甚至比我在Mac 上查看macupdate.com 是否有新的共享軟體更頻繁,這些軟體每天都會出現在當天的清單頂部) 15 分鐘左右! ),登入後十分鐘左右我就開始實際使用 Mac。
我通常會運行一些程式來以某種方式改變 Mac OS X 中的某些檔案。我啟動“系統偏好設定”,暫時更改“節能器”設定;我斷開互聯網連接,然後重新連接;我點擊“續訂DHCP 租約;我啟動TextEdit,輸入一些官方語言,等待自動保存自動保存,然後自己保存;我啟動Safari,也許還可以為某些內容添加書籤;我啟動目錄實用程序,然後退出;網路實用程式也是如此, ETC。
然後我關閉我的 Mac 而不是重新啟動,因為關機會更新一些快取檔案、bootcacheplaylist 並執行重新啟動不會執行的其他操作。如果旋轉圖示出現並需要一段時間我的 Mac 最終關閉,那是一件好事! IDK,但它可能會用新的、乾淨的檔案等覆蓋損壞的首選項檔案。
您始終可以進入“系統”->“庫”中的“快取”資料夾並刪除一些快取檔案(最近的檔案 - 舊日期的檔案可能應該保留)。它只會為這些已刪除的快取檔案建立新的、乾淨的和最新的替換檔案。您可以執行相同的操作,在主資料夾中的“庫”->“快取”中快取具有最近日期的檔案。再說一次,它只會寫新鮮的。
即使我的 Mac 運作正常,我也會每兩週左右啟動一次進入安全模式。
此外,您始終可以按住 Command-s 並按下 Mac 的電源按鈕。在看到老式的、類似 DOS 的螢幕之前,不要放開 Command-s。此時放開按鍵。此時載入的只是 Mac OS X 的內核,以及一些非常少的 BSD Unix 資源。但此時「Mac OS X」幾乎還沒載入。 GUI 甚至還沒有載入。
進入此模式時,它將列印一些簡短的啟動過程訊息,然後讓您看到帶有閃爍遊標的命令列提示符。
輸入“/sbin/fsck[空格]-fy[回車]”。在按下回車鍵之前,它應該類似於 /sbin/fsck -fy。它會像磁碟工具一樣進行驗證/修復,除了您的啟動體積。
如果它完成並表示一切正常,但最後列印“#FILE SYSTEM HAS BEEN MODIFIED”,請再次運行相同的命令,如有必要,請再次運行,直到它不列印“#FILE SYSTEM HAS BEEN MODIFIED”訊息不再了。然後,您可以在命令列中輸入“exit”以繼續啟動,或者如果您想關閉並啟動,請輸入“shutdown”。
有一個很棒的實用程式叫做 AppleJackhttp://www.macupdate.com/app/mac/15667/applejack這是一個 Unix 命令列實用程式應用程序,僅在此文字單用戶模式下運行(它沒有 GUI。)
閱讀 AppleJack 的文檔,尤其是如何謹慎使用(全部大寫)“AUTO”。
關於修復權限也存在著許多爭議。有人說這是一件好事,也有人說這是一件好事。有人說不是,應用程式一直在更改原始文件權限設置,這不一定是壞事或異常。
最後,我的實用程式「工具箱」中不可或缺的工具包括免費共享軟體「Onyx」實用程式http://www.macupdate.com/app/mac/11582/onyx、TechTool Pro 6、Drive Genius 3、久負盛名的 DiskWarrior 4 和 Data Rescue 3(如果您透過 Bootcamp 在 Mac 上安裝了 Windows,則可能還有 Data Rescue PC)。
TechTool 的眾多功能中的其中兩個是能夠在啟動磁碟機(或任何磁碟機)上建立一個小分割區,該分割區會建立一個緊急磁碟,如果您的啟動磁碟機需要修復,您可以啟動該緊急磁碟。 (大多數實用程式不會或無法修復啟動磁碟機。TechTool 的緊急磁碟分割可以解決此問題。)
其次,TechTool 可讓您選擇安裝一個首選項窗格,該窗格會定期進行磁碟機 SMART 檢查,備份您寶貴的磁碟目錄(在任何磁碟機上)。如果磁碟目錄被刪除或損壞得太嚴重而 DiskWarrior 無法修復,那麼您就完蛋了 – 除了 Mac OS X 的「存檔和安裝」之外。
磁碟目錄是一個HUUUUUUUUGE文件,因此備份它需要大量的時間和空間。我已將其設定為將所有磁碟機的目錄備份儲存在我用於長期資料儲存的磁碟機上的單獨資料夾中(存檔照片、我需要保留的舊文件、我需要保存 7 年的舊稅務檔案)年等)。我還設定它在就寢時間後進行備份。
幸運的是,這個 TechTool 首選項窗格可以完全根據其執行的每項任務進行自訂。您可以每週或每小時執行一次目錄備份,您可以將其設定為每天或每小時執行一次 SMART 檢查。如果 SMART 檢查失敗,您可以讓它向您發出警報和/或向您發送電子郵件。
(對我來說)最有用的是,您可以設定硬碟上要保留多少可用空間的閾值(出於上述原因),例如 15%、20%,並在接近時讓 TechTool 提醒您您自訂的閾值。
然後是時候歸檔一些您需要保留但不經常存取的文件,將它們從主磁碟機上轉移出來。
PS 使用自動備份實用程式並確保日誌功能已打開在對於所有驅動器。 (您可以在「磁碟工具」中檢查並為每個磁碟機開啟它。)
答案2
在「活動監視器」應用程式(通常在應用程式的「實用程式」子資料夾中)中檢查您的記憶體使用情況。有 4 行記憶體使用情況,最下面一行會告訴您「交換已使用」。即使“已使用的內存”量小於“物理內存”,如果“已使用的交換”值大於零並且您有一個普通的硬碟驅動器(旋轉磁碟而不是 SSD),那麼這將是您的在應用程式之間切換時出現問題。對此的 2 個解決方案是:
- 將標準 HDD 替換為 SSD 驅動器
- 如果可以的話添加更多 RAM,並且最好按大小匹配 RAM 模組(2 X 4GB 或 2 X 8GB)
正如上面的答案所述,它可能是一個故障硬碟,HDD 子系統正在努力從驅動器可靠地讀取資料。這不會在「磁碟」標籤下的「活動監視器」中顯示為高 I/O,檢查這一點的唯一方法是使用單一使用者滑鼠和表面掃描實用程式在上面的答案中提到的。
答案3
如果 Spotlight 正在對檔案進行索引,您會在活動監視器中看到它作為 mds 使用大量資源。
我也會嘗試卸載閃存或使用閃存攔截器。
答案4
為什麼你有 5GB RAM?這是一個奇怪的數字...你們有 4GB 晶片和 1GB 晶片嗎?
移除 1GB 晶片可能會讓您的系統更快...或者更好的是,擁有兩個 2GB 晶片(或兩個 4GB 晶片)。這僅適用於某些主機板/CPU 組合。我曾經擁有一台 Mac,如果沒有完美配對的晶片,它甚至根本無法啟動,但許多現代 CPU 都針對均勻配對的設定進行了最佳化。通常,蘋果不會向您出售除了完美配對的記憶體之外的任何配置的 Mac,這是因為 CPU 只能在這種設定下全速運行。
我不知道這個建議是否適用於您的 Mac,如果它導致您所看到的速度變慢,我會感到驚訝,但值得一試。
老實說,我懷疑你可能遇到了硬體問題。我想知道您的硬碟是否開始出現故障?我會擦除硬碟並在整個硬碟上寫入零(可能寫入零兩次...或使用安全性擦除功能,該功能將寫入隨機資料3次)。
將資料寫入每個部門在硬碟機上將強制驅動器在每個磁區上套用其內部容錯演算法。這些檢查非常複雜,而且速度很慢。為了保持性能,它們在正常驅動器使用情況下無法正常運作。通常有數百萬個單獨的位元在現代硬碟上是沒有用的,通常驅動器的內部機制會將這些位元標記為壞,並悄悄地將資料移動到其他地方(500GB 驅動器通常有許多GB 的額外未使用扇區準備好啟動作為其他壞扇區的替代品)。
覆蓋磁碟幾次將清理磁碟並為您提供比全新磁碟更好的磁碟(購買後在整個磁碟機上寫入資料是個好主意)。
如果硬碟的狀況非常糟糕,那麼在將資料寫入磁碟的過程中就會出現故障,這只能透過購買新的磁碟機來真正修復。
此建議適用於旋轉硬碟驅動器,而不是固態硬碟驅動器。我不太了解 SSD 的工作原理,但我聽說在整個 SSD 上寫入資料可能會永久降低磁碟機的效能。