Mac 上 Cursor 高 CPU 或記憶體:找出忙碌的工作
Cursor 可能因為幾種不同原因讓 Mac 感覺變慢:擴充功能忙碌、處理大型工作區、長時間執行的 AI 任務,或是工作停止後仍持續消耗記憶體的行程。先找出是哪個動作造成用量上升。快取資料夾很大,並不代表刪掉它就能解決 CPU 用量問題。
保留一個可重現的比較
儲存專案並記下 Cursor 版本。開啟活動監視器,搜尋 Cursor,依序比較開啟專案前、重現問題期間,以及任務停止後的 CPU 與記憶體。每次測試都使用同一個儲存庫與動作。
如果小型資料夾運作正常,但單一儲存庫不行,工作區範圍就是有用的線索。如果新對話回應正常,但某個長對話不行,就分開測試。如果用量在重複負載下穩定上升,記錄成長量與經過時間。單一次偏高的讀數不足以證明記憶體洩漏。
將編輯器與它啟動的工作分開
一個 Cursor 工作階段可能包含編輯器視窗、擴充功能、語言伺服器、終端機與 AI 任務。其中部分工作可能在編輯器閒置時繼續進行。在停用任何項目之前,先確認是否有終端機仍在執行建置、測試監看程式、開發伺服器或模型。只透過終端機或應用程式的正常控制項停止你認得的工作,並先儲存其成果。
在活動監視器中,於三個時間點比較忙碌的處理程序:工作區已開啟但尚未啟動任何任務時、執行你覺得緩慢的操作期間,以及該操作結束之後。記錄處理程序名稱,以及症狀是輸入延遲、CPU 偏高還是記憶體持續增加。單憑輔助處理程序的名稱通常無法指出負責的擴充功能,因此請用後續的比較來縮小範圍。
試著開啟實際的專案資料夾,而不是包含多個儲存庫的上一層資料夾。執行這項測試時不要移動或刪除專案。如果較小的工作區能改善結果,請判定較大的工作區包含了什麼:產生的資產、另一個專案的相依套件、作用中的監看程式,或語言工具掃描了更多檔案。這是關於範圍的證據,不是排除所有大型目錄的理由。
例如,反覆寫入輸出的開發伺服器可能是編輯器所觀察到的作用中工作。排除資料夾與停止該伺服器測試的是不同的解釋。同時變更兩者會失去區別,因此請記錄哪一項單一變更影響了重複的操作。
先測試擴充功能,再重設編輯器
Cursor 的效能指南建議進行一次停用擴充功能的執行。儲存工作並正常結束 Cursor 後,從終端機用以下指令啟動:
cursor --disable-extensions
這假設已安裝 cursor shell 指令。若無法使用,改用 Cursor 的擴充功能檢視停用非必要擴充功能來進行比較。記錄你停用了哪些項目,讓測試可以還原。
重複相同的專案動作。如果情況改善,逐一還原擴充功能,直到症狀重現。如果沒有改善,還原先前的擴充功能狀態並繼續。不要以開啟不同檔案的測試作為排除擴充功能的證據,也不要下一步就移除整個使用者資料目錄。
縮小成功的擴充功能測試範圍
如果停用擴充功能後的執行改善了同一項操作,不要重新安裝所有擴充功能,也不要捨棄它們的設定。從記錄下來的已啟用集合開始,在只有少數候選項時逐一還原。擴充功能很多時,每次還原一半可以更快縮小範圍,前提是每次測試都開啟同一個專案並完成同一項操作。
分組法是調查的捷徑,不能證明恰好只有一個擴充功能有問題。兩個擴充功能可能互相影響,而停用語言擴充功能也可能移除會觸發該工作負載的功能。一旦出現候選項,請在啟用你實際需要的所有擴充功能、只排除該候選項的情況下重複測試。除了回應速度,也要檢查程式碼補全、診斷與建置。
如果最後的比較仍指向某個擴充功能,請記錄其名稱與版本。在提供該選項的情況下,只對工作區停用可能比變更每個專案更合適。如果停用它會破壞必要功能,請還原它並保留重現步驟給其維護者,而不是把更快但不完整的編輯器當成想要的結果。
排除你不需要的產生輸出
AI 輔助工作可能產生建置輸出、匯出的套件、產生的圖片與大型日誌。開啟包含所有專案的父資料夾,可能暴露遠超過任務所需的內容。先開啟實際的專案根目錄。
Cursor 說明了用 .cursorignore 限制 AI 存取專案檔案,終端機與 MCP 工具則有例外。其效能指南建議排除大型產生資料夾。這比只變更索引範圍更廣,而且不會停止每個語言伺服器或檔案系統監看程式。
對於這些目錄確實是產生輸出的專案,.cursorignore 檔案可以包含:
dist/
build/
.next/
先檢查資料夾並保留現有的忽略規則。名為 build 的目錄在你的專案中可能包含手動維護的建置指令碼。加入模式不會刪除檔案,但可能從 AI 功能移除有用的內容脈絡。之後重新檢查索引狀態與相同的編輯器動作。
跟著仍在運作的行程走
| 觀察 | 下一步要調查什麼 |
|---|---|
| 停用擴充功能後問題消失 | 逐一還原擴充功能 |
| 只有一個大型工作區會觸發 | 專案根目錄、產生輸出與語言工具 |
| AI 任務結束後 CPU 穩定下來 | 任務負載與並行數 |
| 相同重複動作期間記憶體持續增加 | 附上版本與時間的可重現報告 |
| 整台 Mac 變慢 | 記憶體壓力與其他執行中的應用程式 |
Mac 記憶體壓力指南說明為何只看已用記憶體不是可靠的警訊。關閉未使用的工作區可以幫助執行中的負載,而不必刪除其內容。
檢查排除項目改變了什麼
變更 .cursorignore 之後,檢查檔案差異,並同時測試緩慢的操作,以及一個關於理應仍可存取之程式碼的普通問題。只有當 Cursor 仍擁有任務所需的原始碼時,較小的可見專案脈絡才有用。如果新模式排除了重要內容,只移除該新模式;不要用空檔案取代整個忽略檔案。
請將這些界線分開。Git 忽略規則掌管 Git 對未追蹤檔案的處理。Cursor 的 AI 存取排除項目掌管文件所述的 AI 功能。語言伺服器、擴充功能或終端機監看程式各有自己的行為。在未找出忙碌元件的情況下,到處加入相同模式可能掩蓋症狀並移除有用的功能。
如果 CPU 正常但答案很慢才出現,請將 AI 請求與編輯器資源使用分開調查。如果即使工作結束後記憶體在每次重複時仍上升,請記錄數次可比較的讀數與經過的時間間隔,然後測試重新開啟工作區是否改變該模式。對維護者而言,這比回報建置期間看到的最大數值有用得多。
只在磁碟空間是問題時清理磁碟殘留
Cursor 快取、舊工具版本、工作階段歷史與工作樹有不同的擁有者與還原需求。工作樹可能包含未提交的變更,或只存在於該處的提交。對話歷史可能是你仍需要的工作。
關於那個獨立的儲存任務,請使用 AI 程式設計工具清理指南。對於持續的 CPU 或記憶體問題,將最小的可重現案例、版本與擴充功能比較寄給 Cursor。分享前先檢視日誌,因為它們可能包含專案名稱或程式碼。這能讓報告聚焦於實際的變慢,而不是無關的清理結果。