指南/Codex佔用大量CPU
Codex在Mac上佔用大量CPU或記憶體?如何找出原因
簡短回答
Codex有桌面App,也有命令列工具,兩者運作時都會啟動其他程序:工作執行的指令、開發伺服器、測試和MCP伺服器。CPU過高通常代表工作正在執行很吃資源的東西,或某個指令卡住了;記憶體過高通常代表某個對話串開了很久。停止工作,完全結束Codex再重新打開,並更新它:你的對話串都會保留。Vitals是一款Mac系統監控工具,會列出在每個專案檔案夾中運作的所有程序,並在某個程序連續好幾分鐘佔用CPU時通知你。
如何找出Codex在做什麼
- 01 打開活動監視器,按一下「CPU」,在搜尋欄位輸入codex。桌面App會顯示為Codex及其輔助程式;命令列工具會在你的終端機App底下顯示為
codex。 - 02 選擇「顯示方式」→「所有程序(依階層排列)」,然後打開Codex或終端機旁邊的三角形。底下列出的就是工作啟動的東西:建置、測試或開發伺服器。
- 03 如果忙碌的是其中之一,就在Codex裡停止工作。如果工作停止後它還在執行,就在活動監視器中選取它,按一下工具列中的停止按鈕。
- 04 如果忙碌或佔用很大的是Codex本身,就用⌘Q結束它再重新打開。在終端機中,結束後執行
codex resume,從停下的地方接續那個對話串。 - 05 更新Codex。App從它自己的選單更新;命令列工具則用你安裝它時所用的套件管理工具更新。
如果syspolicyd或trustd和Codex同時在忙,那是macOS在程式啟動時檢查它們。工作不再啟動新程式後,它就會自己平靜下來;如果沒有,重新啟動Mac就能解決。
Codex靠執行各種東西來工作:讀取你的專案、在沙箱中執行指令、建置、測試,再檢查結果。這對CPU來說是實實在在的工作,工作執行時Mac變熱,正是在做你要它做的事。值得處理的是另外幾種情況:工作結束後CPU仍然很高、對話串開著記憶體就一直增加,以及Codex結束後仍在執行的程序。下表把它們分清楚。
Codex的CPU和記憶體用在哪裡
| 你看到的 | 這是什麼 | 怎麼做 |
|---|---|---|
| 工作執行時CPU很高 | 工作正在執行的建置、測試或腳本 | 正常;工作結束它就結束 |
| 沒有工作在執行時CPU很高 | 某個指令沒有停止,或App卡住了 | 結束工作啟動的東西;重新啟動Codex |
| Codex佔用好幾GB | 開了很久的對話串 | 結束後重新打開;你的對話串都會保留 |
syspolicyd或trustd佔用大量CPU | macOS在檢查工作啟動的每個程式 | 工作停止後就會平靜下來;如果沒有就重新啟動Mac |
| Codex結束後留下的程序 | 開發伺服器、檔案監看程式或MCP伺服器 | 在活動監視器中結束它們 |
正在做實際工作的工作項目
編譯專案或執行一整套測試,會用上所有能用的核心,不管是誰要它做的。如果Codex啟動了建置,排在活動監視器最上面的會是建置的程序,而不是Codex,風扇也會跟著轉起來。這是工作本身的成本。同時執行好幾個工作,每個都在專案的獨立副本中,成本就會成倍增加:同時跑三次建置,就是三次建置。
停不下來的時候
有人在Codex的問題追蹤頁面上回報,App或它的某個工作程序有時會在一般使用中讓一個核心一直忙碌,或增加到好幾GB。有效的都是最簡單的方法:停止工作、結束Codex、重新打開,並更新。對話串會隨時儲存,所以重新啟動只要幾秒鐘,不會讓你的成果白費。
結束後檢查有沒有殘留的東西。工作啟動的開發伺服器或檔案監看程式是一般的程序,不一定會跟著結束。在活動監視器中依「% CPU」和「記憶體」排序,找找node和專案中其他不是你自己啟動的工具。
syspolicyd和trustd
macOS會在程式啟動時檢查它的簽名。像建置和測試這類一分鐘內啟動幾百個小程式的工作,會讓syspolicyd和trustd一直忙著做這些檢查。它們是macOS的一部分,不該結束它們。程式不再啟動後,它們就會平靜下來;如果某次檢查卡住了,重新啟動Mac就能解決。
Vitals多了什麼
Vitals會顯示這些工作屬於哪個專案,並在它持續太久時通知你。
- 「專案」標籤頁:在專案檔案夾中運作的所有程序,不管是哪個App啟動的,並附上整個專案的記憶體、CPU和能源用量
- Codex顯示為一列,已計入它的輔助程式,並附上總記憶體和CPU
- 某個App連續幾分鐘佔用CPU,或記憶體不斷變大時,會傳送通知
- 會指出閒置中仍在執行的開發伺服器,並讓你停止它們
- 風扇轉起來時,列出讓Mac發熱的App,每個旁邊都有「結束」
小提醒
- Vitals顯示的是程序和它們的用量。它不知道哪個指令是Codex的哪個工作啟動的。
- Vitals從不會自行結束任何東西。
大家常問的問題
為什麼Codex在我的Mac上佔用這麼多CPU?
通常是因為工作正在執行建置、測試或腳本,這是實際的工作。如果沒有工作在執行時CPU仍然很高,就結束工作啟動的東西,重新啟動Codex並更新它。
為什麼Codex佔用這麼多記憶體?
開了很久的對話串會越來越大。結束Codex再重新打開;對話串都已儲存,在終端機中用codex resume可以接續其中一個。
為什麼Codex執行時syspolicyd佔用大量CPU?
macOS會在每個程式啟動時檢查它,啟動很多程式的工作會讓syspolicyd一直忙碌。工作停止後它就會平靜下來。不要結束它;如果一直卡住,就重新啟動Mac。
重新啟動Codex會遺失我的成果嗎?
不會。對話串和工作對你的檔案所做的更改都會保留。重新打開App,或在終端機中執行codex resume。
為什麼Codex完成後Mac還是很燙?
工作啟動的某個東西還在執行,最常見的是開發伺服器或檔案監看程式。在活動監視器中依「% CPU」排序,然後結束它。
有沒有能顯示Codex在Mac上執行了什麼的App?
Vitals有「專案」標籤頁,會列出在每個專案檔案夾中運作的所有程序,附上記憶體、CPU和連接埠,並在某個程序連續好幾分鐘佔用CPU時通知你。
詞彙表中的相關條目
更多指南
- Mac為什麼這麼慢
- 是什麼在消耗Mac的電池
- 哪個App在使用我的CPU或記憶體
- Mac為什麼無法睡眠
- Chrome占用太多記憶體
- 為什麼Mac的風扇這麼吵
- 如何控制Mac的風扇轉速
- 如何釋放Mac的RAM
- Docker使用太多記憶體
- 如何停止Docker容器
- Mac音量混音器
- Cursor使用大量CPU
- Claude Code使用太多記憶體
- Claude Code和Codex的用量上限
- Claude App佔用大量CPU
- Ollama佔用過多記憶體
- 活動監視器替代方案
- iStat Menus替代方案
- Stats替代方案
- Mac版工作管理員
- 最佳Mac系統監控工具
- 最佳Mac選單列監控工具
- 最佳Mac音量混音器
- Mac上的htop
- Mac版Process Explorer
- 最好的Mac溫度監控工具