詞彙表/CPU、GPU和能源

% CPU

又稱:CPU百分比、CPU超過100%

簡短回答

「% CPU」是某個程序使用的處理器能力比例,以單一CPU核心為單位計算。因為每個核心各算100%,同時使用多個核心的程序可能會顯示超過100%。

「活動監視器」中的「% CPU」欄位告訴你,某個程序讓處理器有多忙。100%表示這個程序相當於完全用滿一個核心。在有八個核心的Mac上,所有程序加起來的上限是800%。

數值高不一定是問題。輸出影片、編譯程式碼或為檔案建立索引,本來就會在一段時間內使用大量CPU。只有在你沒要它做任何事,某個程序卻一直居高不下時,才算是問題。

為什麼「% CPU」會超過100

「活動監視器」會把一個程序在每個核心上花的時間加總起來。如果一個App同時在三個核心上全速執行,就會顯示大約300%。對於影片編輯器、編譯器和瀏覽器這類為多執行緒設計的App,這很正常。

「CPU」標籤頁底部的「系統」、「使用者」和「閒置」數值則不同。它們描述的是整個處理器,所以三者加起來是100%。

「% CPU」沒告訴你的事

「% CPU」衡量的是核心有多少時間在忙,而不是核心跑得多快。在Apple晶片上,效能核心和節能核心都可能顯示100%,完成的工作量卻差很多。

它也看不出App是否還有回應。一個App可能在等待某樣東西時當住,CPU卻是0%;也可能用到400%,仍然回應正常。

如何找出是什麼在使用CPU

打開「活動監視器」,按一下「CPU」標籤頁,再按一下「% CPU」欄位標題,由高到低排序。觀察幾秒鐘,因為每次更新數值都會變。

在「終端機」中,top -o cpu會顯示同樣依CPU使用量排序的列表。按q離開。

如何查出你Mac上「% CPU」的最大值

「% CPU」的上限是100%乘以macOS可以排程工作的核心數量。你可以在「終端機」中查到這個數字,不必用猜的。

  1. 從「應用程式」>「工具程式」打開「終端機」。
  2. 執行sysctl -n hw.logicalcpu。它會輸出邏輯核心的數量。
  3. 把這個數字乘以100。這就是所有程序加起來能顯示的最大「% CPU」,也是單一程序讓所有核心都忙碌時能達到的最大值。
  4. 在搭載Apple silicon的Mac上,執行sysctl hw.perflevel0.logicalcpu hw.perflevel1.logicalcpu查看這些核心中有多少個效能核心、多少個節能核心。

Apple silicon和Intel:怎樣才算一個核心

在支援超執行緒的Intel Mac上,每個實體核心會顯示為兩個邏輯核心。sysctl -n hw.physicalcpu顯示實體核心數量,sysctl -n hw.logicalcpu顯示邏輯核心數量,而「% CPU」是以邏輯核心數量計算的。所以一台有四個實體核心的Intel Mac,可能會顯示某個程序高達800%。

Apple silicon不使用超執行緒,所以實體核心和邏輯核心的數量相同。Apple silicon的差異在於效能核心和節能核心的組合。在節能核心上達到100%的程序,完成的工作比在效能核心上達到100%的程序少。

如果你想知道某個App是否在Apple silicon上原生執行,請選擇「顯示方式」>「直欄」並開啟「類型」。原生App會顯示「Apple」,透過Rosetta轉譯執行的App會顯示「Intel」。

如何判斷App是否真的使用了過多CPU

Apple指出,大部分時候你的Mac只會用到一小部分的處理能力。數值高但你說得出原因,就沒有問題。以下跡象才代表真的有問題:

  • 你沒在使用這個App,它卻連續好幾分鐘居高不下。
  • 它穩定停在100%左右不動。這通常代表有一個執行緒陷入迴圈,用滿了一整個核心。
  • App待在背景時,它的「CPU時間」欄仍在快速攀升。
  • 同時風扇變大聲、Mac摸起來發熱,或電池掉得比平常快。
  • 關掉引發這些工作的視窗、文件或標籤頁後,數值仍然沒有下降。

某個App讓CPU一直忙碌時該怎麼辦

  1. 在活動監視器中按一下「CPU」標籤頁,依「% CPU」排序。觀察一分鐘,以免被短暫的高峰誤導。
  2. 如果這個程序是輔助程式,請選擇「顯示方式」>「所有程序(依階層排列)」,看看它屬於哪個App。
  3. 儲存你的工作,然後正常結束App。如果它沒有回應,請選擇它並使用「強制結束」。
  4. 再次打開App。如果CPU使用率又莫名其妙地升高,請看看開發者是否有推出更新。
  5. 如果問題一再發生,請在活動監視器中為該程序取樣,並傳給開發者。取樣會顯示App當時在做什麼。

大家常問的問題

Mac上的「% CPU」超過100是什麼意思?

表示這個程序同時使用了不只一個CPU核心。每個核心算100%,所以用滿兩個核心的程序會顯示200%。

App的「% CPU」多少算正常?

你沒在用的App,大部分時間通常應該接近0%。短暫的高峰很正常。背景App連續幾分鐘居高不下,就值得仔細看看。

為什麼什麼都沒打開,Mac的CPU使用率卻很高?

macOS會執行背景作業,例如Spotlight索引、照片分析和備份,而且常常趁Mac閒置時進行。這些作業完成後,通常就會緩和下來。

Mac上CPU使用率100%是壞事嗎?

本身不是。100%表示一個核心完全忙碌,這在輸出或編譯時很正常。只有在App應該閒置時還一直如此,才是問題。

為什麼「CPU負載」圖表看起來還空著一半,某個App卻顯示400% CPU?

單一程序的「% CPU」是以一個核心計算的,而「系統」、「使用者」和「閒置」數值描述的是整個處理器。在有八個核心的Mac上,達到400%的程序大約用了總量的一半。

活動監視器多久更新一次「% CPU」?

你可以透過「顯示方式」>「更新頻率」來選擇:「非常頻繁(1秒)」、「頻繁(2秒)」或「正常(5秒)」。Apple指出,更新越快,本身也可能影響效能。

相關詞條

逐步教學:哪個App在使用我的CPU或記憶體。

想找比活動監視器更好的工具?請參閱Mac上最好用的活動監視器替代方案,或瀏覽詞彙表中的所有詞條。