指南/哪個App在使用我的CPU或記憶體
如何逐一查看Mac上各App的CPU和記憶體用量
簡短回答
打開活動監視器,按一下「CPU」並依「% CPU」排序,或按一下「記憶體」並依「記憶體」排序。排在前面的就是此刻用得最多的。選擇「顯示方式」→「所有程序(依階層排列)」,就能看到輔助程序排在啟動它們的App底下。判斷記憶體要看「記憶體壓力」圖表,而不是「已使用記憶體」:綠色表示Mac的記憶體夠用。Vitals是一款Mac系統監控工具,每個App只占一行並已計入輔助程式,還能顯示過去幾小時、最遠到一年前哪些App用得最多。
如何查看哪個App在使用CPU或記憶體
- 01 按下⌘空白鍵,輸入「活動監視器」,然後按下Return。
- 02 按一下「CPU」,然後按一下「% CPU」欄標題,直到最高的數值排在最上面。
- 03 按一下「記憶體」,然後以同樣方式按一下「記憶體」欄標題。
- 04 選擇「顯示方式」→「所有程序(依階層排列)」。輔助程序會移到啟動它們的App底下,所以瀏覽器的標籤頁會排在瀏覽器底下。
- 05 查看「記憶體」標籤頁底部的「記憶體壓力」圖表。綠色表示Mac的記憶體夠用,不管「已使用記憶體」看起來有多滿。
- 06 若想讓量表一直留在螢幕上,選擇「視窗」→「CPU使用量」。若想查看過去幾分鐘每個核心的情況,選擇「視窗」→「CPU歷史記錄」。
若要結束忙碌的App,選取它並按一下工具列中的停止按鈕(帶×的八角形),然後按「結束」。只有App沒有回應時才用「強制結束」。別動kernel_task和WindowServer這類系統程序:它們忙,是因為有別的東西在忙。
活動監視器很會回答一個問題:這一秒是什麼在忙。對於通常接著出現的問題,它就沒那麼清楚了。這個程序屬於哪個App?記憶體數字高是問題嗎?一小時前風扇轉起來時,是什麼在使用CPU?下表說明哪個數字回答哪個問題,表後的各節則解釋最讓人困惑的數字。
哪個數字回答哪個問題
| 問題 | 查看位置 | 看什麼 |
|---|---|---|
| 此刻哪個App在使用CPU? | 活動監視器→「CPU」 | 「% CPU」,由高到低排序。100%等於一個核心全速運作 |
| 整台Mac有多忙? | 活動監視器→「CPU」底部 | 「系統」、「使用者」和「閒置」,三者加起來是100% |
| 哪個App使用最多記憶體? | 活動監視器→「記憶體」 | 「記憶體」,由高到低排序,並搭配「顯示方式」→「所有程序(依階層排列)」 |
| Mac的記憶體不足嗎? | 活動監視器→「記憶體」底部 | 「記憶體壓力」:綠色沒問題、黃色偏緊、紅色不足 |
| Mac是否在把磁碟當記憶體用? | 活動監視器→「記憶體」底部 | 「使用的交換檔」,以及它是否持續增加 |
| 一小時前是什麼在忙? | 活動監視器→「能源」 | 「12小時耗電量」,唯一帶有歷史資料的欄 |
「% CPU」為什麼會超過100%
為什麼一個App會顯示成幾十個程序
瀏覽器和以網頁技術打造的App會把工作分給多個輔助程序:每個標籤頁或網站一個、圖形一個、網路一個、每個延伸功能一個。Chrome會將它們顯示為Google Chrome Helper和Google Chrome Helper (Renderer),Safari則以網站的位址顯示它的標籤頁。一個App可能占30或40行,每一行單看都不大。關於瀏覽器,請參閱Chrome占用太多記憶體。
「顯示方式」→「所有程序(依階層排列)」會把每個輔助程序放在啟動它的App底下,你就知道它屬於誰。活動監視器不會把它們加總,而你自己把「記憶體」欄加起來會算多,因為程序之間共享的記憶體在每個程序中都算了一次。把總和當作粗略的上限就好。
記憶體用量高什麼時候是問題,什麼時候不是
「已使用記憶體」接近「實體記憶體」的Mac是正常的。macOS會把最近用過的檔案以已快取的檔案形式留在記憶體中,並在動用磁碟之前先壓縮記憶體。沒用到的記憶體就是浪費掉的記憶體,所以長條滿了表示macOS正在使用你花錢買的東西。
能判斷Mac記憶體是否不足的數字是記憶體壓力。綠色表示一切都放得下。黃色表示macOS正靠壓縮和交換檔來應付,在Apple晶片上暫時這樣沒問題。紅色表示它應付不來,App會變慢或停止回應。使用的交換檔一整天不斷增加,說明的也是同一件事。在「終端機」中,memory_pressure的最後一行會列出整台Mac可用記憶體的比例。
- 平常工作時記憶體壓力就變黃或變紅:這台Mac需要同時少開幾個App,或下次買記憶體更大的。Apple晶片Mac的記憶體無法事後加裝。請參閱如何釋放記憶體。
- 結束造成問題的App後,記憶體壓力仍是紅色且維持不變:重新開機。
- 某個App的「記憶體」數字一直上升,而你並沒有更常使用它:它很可能有記憶體洩漏。結束後重新打開,並更新它。
你會在前面看到的系統程序
有些最忙的行屬於macOS本身。它們通常是在幫別的東西做事,所以該問的是:是什麼讓它們忙起來的。
- kernel_task:CPU用量高通常表示Mac太熱,macOS讓處理器保持忙碌,好讓它少一些發熱的時間。請參閱Mac的風扇為什麼會變吵。
- WindowServer:負責繪製螢幕上的一切。App不停重繪或連接了多台顯示器時,它會很忙。
- mds_stores和mdworker:Spotlight製作索引,在macOS更新或大量拷貝後會很繁重。
- photoanalysisd和mediaanalysisd:「照片」正在分析你的圖庫。它們會自行完成。
- launchd:啟動其他所有程序。它很忙時,表示有某個登入項目或背景工作不斷重新啟動。
如何在「終端機」中查看CPU和記憶體
「終端機」不用打開視窗就能給出同樣的數字,透過SSH或在指令碼中都很方便。
- 執行
top -o cpu可查看依CPU排序的即時列表,執行top -o mem則依記憶體排序。按q結束。 - 執行
ps -Ao pid,pcpu,rss,comm -r | head -11可查看此刻CPU用量最高的十個程序。用-m取代-r即可依記憶體排序;rss欄的單位是KB。 - 執行
memory_pressure可查看「記憶體壓力」圖表背後的記憶體統計資料。最後一行列出可用記憶體的比例。
真正有用的做法
大多數變慢的狀況只有一個原因,解決方法是把它找出來,而不是籠統地釋放記憶體。
- 結束或更新列表最上方的App。如果是瀏覽器,關閉忙碌的標籤頁,或關閉背後的延伸功能。
- macOS更新後,讓Spotlight和「照片」在接上電源的情況下花幾個小時完成工作。
- 別用記憶體清理App,也別用
purge指令。它們清空的檔案快取macOS會馬上重建,在重建完成前Mac反而更慢。如果Mac是因為其他原因變慢,請參閱Mac為什麼這麼慢。 - 如果結束造成問題的App後記憶體壓力仍是紅色,或某個程序卡住、「強制結束」也結束不了,就重新開機。
Vitals多了什麼
Vitals列出的是App而不是程序,並記住每個App用了多少。
- 每個App一行,所有輔助程式都已計入:約60個App,而不是約1,000個程序
- 按一下瀏覽器,就能看到它的CPU和記憶體依標籤頁、延伸功能、圖形和瀏覽器本身拆分
- 每個App最長一年的CPU和記憶體資料,從過去1小時到過去1年都有排名
- 背景App讓CPU一直忙碌、App記憶體不斷增加,或Mac記憶體不足時,都會傳送通知
小提醒
- CPU可以像活動監視器一樣依核心顯示,也可以顯示為整台Mac的比例,在「設定」→「一般」→「單位」中設定。
- root和系統程序(例如kernel_task和WindowServer)在開啟選用的輔助程式時才會測量。
- Vitals不會為程序取樣,也不會產生spindump。活動監視器仍然可以。
大家常問的問題
如何查看Mac的CPU用量?
打開活動監視器,按一下「CPU」標籤頁並依「% CPU」排序。排在前面的就是用得最多的。底部的「系統」、「使用者」和「閒置」數字顯示整台Mac有多忙。若要在「終端機」中即時查看,請執行top -o cpu。
如何查看每個App使用多少記憶體?
打開活動監視器,按一下「記憶體」並依「記憶體」欄排序。選擇「顯示方式」→「所有程序(依階層排列)」,讓App的輔助程序排在它底下。活動監視器不會加總它們;Vitals會。
Mac什麼都沒開,為什麼還用掉這麼多記憶體?
macOS會把最近用過的檔案以「已快取的檔案」形式留在記憶體中,並為自己保留一部分作為「系統核心記憶體」。只要有App需要,這些記憶體就會馬上交出來。看看「記憶體壓力」:如果是綠色,就沒有任何問題。
Mac的CPU用量多少算正常?
閒置時,「CPU」標籤頁底部的「閒置」通常在90%以上,App和背景工作執行時會短暫衝高。某個App在你沒使用它時一直排在前面,就值得看一看。
記憶體壓力變黃色很糟嗎?
本身並不要緊。它表示macOS正靠壓縮記憶體和使用交換檔來應付,而Apple晶片很擅長這一點。如果每天平常工作時都是黃色,或變成紅色,表示以你執行的東西來說,記憶體不夠用。
有沒有更簡單的方法,依App查看Mac的CPU和記憶體?
Vitals每個App只占一行並已計入輔助程序,所以瀏覽器或Slack的CPU和記憶體各只有一個數字,並會為每個App保留最長一年的這兩項資料。
詞彙表中的相關條目
更多指南
- Mac為什麼這麼慢
- 是什麼在消耗Mac的電池
- Mac為什麼無法睡眠
- Chrome占用太多記憶體
- 為什麼Mac的風扇這麼吵
- 如何控制Mac的風扇轉速
- 如何釋放Mac的RAM
- Docker使用太多記憶體
- 如何停止Docker容器
- Mac音量混音器
- Cursor使用大量CPU
- Claude Code使用太多記憶體
- Claude Code和Codex的用量上限
- Claude App佔用大量CPU
- Codex佔用大量CPU
- Ollama佔用過多記憶體
- 活動監視器替代方案
- iStat Menus替代方案
- Stats替代方案
- Mac版工作管理員
- 最佳Mac系統監控工具
- 最佳Mac選單列監控工具
- 最佳Mac音量混音器
- Mac上的htop
- Mac版Process Explorer
- 最好的Mac溫度監控工具