指南/Cursor使用大量CPU

Cursor使用大量CPU,或讓Mac很耗電?如何找出原因

Atta 🐬

Vitals創辦人

發佈於

簡短回答

Cursor的構造就像瀏覽器,所以活動監視器會把它顯示為好幾個程序:Cursor、每個視窗各一個的Cursor Helper (Renderer)、負責延伸功能的Cursor Helper (Plugin),以及Cursor Helper (GPU)。CPU使用率過高幾乎都出自三個地方之一:某個延伸功能、大型專案中的索引或檔案監看,或是代理程式啟動後一直沒關的工具,例如開發伺服器或程式碼檢查工具。在Cursor中選擇Help → Open Process Explorer,就能看出是哪一種。Vitals是一款Mac系統監控工具,會將Cursor顯示為一個App,並細分為視窗、延伸功能和圖形,還會列出在每個專案檔案夾中運作的所有程序。

如何找出Cursor在做什麼

  1. 01 打開活動監視器,按一下「CPU」,在搜尋欄位中輸入Cursor。留意哪一列在忙:Cursor Helper (Plugin)是你的延伸功能,Cursor Helper (Renderer)是視窗,Cursor Helper (GPU)負責繪製畫面。
  2. 02 在Cursor中選擇Help → Open Process Explorer。它會依名稱列出Cursor自己的程序,以及CPU和記憶體,讓你看出是延伸功能主機、某個視窗、檔案監看程式,還是一次搜尋。
  3. 03 如果原因是延伸功能,請打開Command Palette(⇧⌘P)並執行Help: Start Extension Bisect。Cursor會每次關閉一半的延伸功能,直到找出是哪一個。
  4. 04 清除活動監視器的搜尋欄位,再依「% CPU」排序一次。看看排在前面的有沒有node、next-server、biome和類似的工具:它們不是Cursor本身,而是Cursor或它的代理程式啟動的東西。
  5. 05 按下⌘Q完全結束Cursor,觀察一分鐘。上一步看到的東西如果仍在執行,就是被留下來的;選取它,再按一下活動監視器工具列中的停止按鈕。

若要一次確認是不是延伸功能造成的,請結束Cursor,再從「終端機」用cursor --disable-extensions啟動它。如果Mac不再發熱,原因就是某個延伸功能。

Cursor是Visual Studio Code的分支,兩者都是Electron App:一個瀏覽器引擎、一個執行延伸功能的Node.js服務,以及每個視窗一個程序。除此之外,Cursor還會為你的專案建立索引,讓它的AI能搜尋,而它的代理程式也會替你在終端機中執行指令。每一項都可能讓CPU一直忙,每一項顯示的名稱不同,解決方法也不同。下表將你看到的名稱對應到它是什麼。

Cursor的各個程序是什麼

你看到的這是什麼怎麼做
Cursor Helper (Plugin)的CPU使用率很高 延伸功能主機:所有延伸功能都在其中執行 使用Extension Bisect,或停用延伸功能後再啟動
Cursor Helper (Renderer)的CPU使用率很高 一個視窗,包括它的編輯器和聊天 關閉很長的聊天和沒在使用的視窗;重新載入視窗
rg程序的CPU使用率很高 搜尋和索引作業正在讀取專案的檔案 將大型檔案夾排除在搜尋和索引之外
Cursor Helper (GPU)很忙 繪製介面 通常很短暫;如果一直很高,請更新Cursor
node、tsc、biome使用率很高 從Cursor啟動的開發伺服器、型別檢查工具或程式碼檢查工具 在Cursor的終端機中停止它,或在活動監視器中結束它

延伸功能:最常見的原因

所有延伸功能都在同一個程序Cursor Helper (Plugin)中執行,所以只要一個延伸功能在忙,整個程序看起來就像元兇。常見的是每按一個鍵就把大型專案重新檢查一遍的程式碼檢查工具、格式化工具和語言伺服器。Extension Bisect重新啟動幾次就能找出是哪一個,比一個一個關閉更快。

第一次設定Cursor時從Visual Studio Code帶過來的延伸功能也值得檢查:有些和Cursor原本就有的功能重複。移除你沒在使用的;停用的延伸功能不會消耗任何資源。

大型專案:索引和檔案監看

打開專案時,Cursor會為它的AI建立索引,並監看檔案的變更。在大型儲存庫,或含有大型產生檔案夾的儲存庫中,這可能讓好幾個核心忙上很久;Cursor論壇上也有人回報,在非常大的專案中,rg搜尋程序一直停不下來。

不要讓產生的檔案夾和第三方程式碼檔案夾被納入。請將它們加入專案根目錄的.cursorignore檔案,以及Settings中的files.watcherExclude和search.exclude。重要的是建置輸出、相依套件檔案夾和快取。接著到Cursor Settings → Indexing & Docs查看索引是否已完成。

代理程式留下來仍在執行的東西

Cursor的代理程式會替你執行指令:用來檢查成果的開發伺服器、型別檢查工具、測試監看程式。工作結束或聊天關閉後,這些程序不一定會停止。它們是沒有視窗的一般程序,所以螢幕上沒有任何東西會告訴你它們還在;一個卡住的程式碼檢查工具,或一個佔用好幾GB的開發伺服器,可能一連執行好幾天。

這也是為什麼Cursor關掉後似乎還在耗電:Cursor已經結束,但它啟動的東西沒有。結束後請照上面的步驟查看活動監視器。父程序已經不在的程序稱為孤兒程序,大家問起殭屍程序時,指的通常就是它。

電池:正常情況是怎樣

一個Electron編輯器,加上邊打字邊回應的AI模型,耗用的電力本來就比純文字編輯器多,這部分是使用這個工具的代價。不正常的是你沒在打字時CPU使用率仍然很高。如果Cursor閒置時,活動監視器的「能源」標籤頁仍把它排在前面,請依照上面的步驟逐一檢查。若要了解全貌,請參閱是什麼在消耗Mac的電池。

Vitals多了什麼

Vitals會將Cursor顯示為一個App並標出各個部分,它啟動的程序則依專案分組。

  • Cursor顯示為一列,附上總記憶體、CPU和能源用量;按一下即可分別查看視窗、延伸功能和圖形
  • 「專案」標籤頁:在專案檔案夾中運作的所有程序,不論是哪個App啟動的,附上記憶體、CPU和它監聽的連接埠
  • 會指出閒置中仍在執行的開發伺服器,並讓你停止它們
  • 某個App連續幾分鐘佔用CPU,或記憶體不斷變大時,會傳送通知
  • 每小時用電最多的App,讓你看出是Cursor還是它啟動的東西

小提醒

  • Vitals會顯示延伸功能的程序,但不會顯示其中是哪個延伸功能在忙。那要靠Cursor的Extension Bisect找出來。
  • Vitals從不會自行結束任何東西。「結束」和「停止」只在你按一下時才會執行。
購買Vitals $15 一年更新$9,或在首發期間以$15終身使用,之後為$39。一次付清,14天內可退款。

大家常問的問題

為什麼Cursor在Mac上使用這麼多CPU?

通常是某個延伸功能、大型專案中的索引,或是代理程式啟動後一直沒關的工具。在Cursor中選擇Help → Open Process Explorer,看看它的哪個程序在忙。

Cursor Helper (Plugin)是什麼?

執行Cursor所有延伸功能的程序。它的CPU使用率很高時,代表有某個延伸功能在忙。從Command Palette執行Help: Start Extension Bisect,找出是哪一個。

Cursor Helper (Renderer)是什麼?

一個Cursor視窗:它的編輯器、面板和聊天。每個視窗各有一個。關閉很長的聊天並重新載入視窗,可以讓它的記憶體和CPU降下來。

為什麼Cursor讓MacBook很耗電?

Cursor是Electron App,還有AI模型在你打字時運作,耗電比一般編輯器多。如果閒置時也很耗電,代表有延伸功能、索引作業,或一直沒關的開發伺服器或建置工具在作怪。

為什麼結束Cursor後Mac還是很燙?

Cursor啟動的某個東西還在執行:開發伺服器、型別檢查工具或程式碼檢查工具。在活動監視器中依「% CPU」排序,找找看有沒有node、tsc或biome。

如何讓Cursor不為某個檔案夾建立索引?

將該檔案夾加入專案根目錄的.cursorignore檔案中。值得排除的是建置輸出和相依套件檔案夾。

有沒有App能顯示Cursor在Mac上用了什麼?

Vitals會將Cursor顯示為一個App,並細分為視窗、延伸功能和圖形;它的「專案」標籤頁會列出在每個專案檔案夾中執行的所有程序,並指出閒置中仍在執行的開發伺服器。

詞彙表中的相關條目

更多指南