詞彙表/記憶體

系統核心記憶體

簡短回答

系統核心記憶體是系統運作所需、必須留在實體記憶體中的記憶體。它無法被移到磁碟或快取,因此App無法使用。

macOS核心、驅動程式和一些核心系統資料會使用系統核心記憶體,因為它們必須一直留在記憶體中。它是活動監視器中「已使用的記憶體」的組成部分之一。

系統核心記憶體會隨你使用Mac而改變。其中一部分取決於正在執行的項目,所以它不是固定的數量。

系統核心記憶體為什麼很高

硬體、驅動程式和系統功能都會使用一些系統核心記憶體。虛擬化和某些圖形工作還會增加用量。由於你無法直接釋放它,實際該看的是記憶體壓力是否仍為綠色。

你可以怎麼做

如果沒有在使用,請結束執行虛擬機器或其他繁重系統層級工作的App;如果Mac已經很久沒有重新開機,系統核心記憶體看起來又異常地高,就重新啟動Mac。不要為了降低它而刪除系統檔案或核心延伸功能。

如何查看「系統核心記憶體」

你可以在活動監視器或「終端機」中查看系統核心記憶體。活動監視器只會顯示整台Mac的總量,「顯示方式」>「直欄」中沒有可加入的各程序系統核心記憶體欄位。以下「終端機」指令只會讀取資訊。

  1. 在活動監視器中按一下「記憶體」標籤頁。「系統核心記憶體」列在視窗底部的「記憶體用量」底下。
  2. 在「終端機」中執行top -l 1 | grep PhysMem。這一行會顯示已使用的記憶體(括號中是系統核心記憶體的量),以及未使用的記憶體。
  3. 若要查看更詳細的資訊,請執行vm_stat。第一行會列出分頁大小,Pages wired down是系統核心分頁的數量。兩者相乘就能得到以位元組計算的記憶體量。

什麼會使用系統核心記憶體

活動監視器對系統核心記憶體的說明是:包含無法被壓縮或交換檔到磁碟之資料的實體記憶體。常見需要它的項目包括:

  • macOS核心及其本身的資料。
  • 硬體和配件的驅動程式與核心延伸功能。
  • 分頁表,系統用它來追蹤每個程序的記憶體。
  • App刻意鎖定在RAM中的記憶體,有些App會這麼做,讓自己的資料永遠不會被移出記憶體。

「系統核心記憶體」就是kernel_task的記憶體嗎?

不是。「記憶體」欄中kernel_task那一列顯示的數值,通常比視窗底部的「系統核心記憶體」小得多。系統核心記憶體是以整個系統計算,不會算在某一列程序上,所以將程序列表排序也找不到它的全部數量。

這也是為什麼大部分系統核心記憶體無法靠結束App來釋放。只有當系統中需要它的部分不再需要時,它才會被釋放。

系統核心記憶體為什麼重要,以及何時值得查看

因為系統核心記憶體無法被壓縮或移到磁碟,它的每一點都是App無法使用的RAM。Apple將系統核心記憶體列為記憶體壓力的計算依據之一。

在RAM很大的Mac上,系統核心記憶體數值大很少會有影響。在RAM較小的Mac上,同樣的量會讓App可用的空間變少,所以記憶體壓力會更早變黃。解決方法和任何記憶體不足時一樣:少同時執行幾個吃重的App。

正常:隨著你連接裝置、啟動和停止虛擬機器,以及使用Mac,系統核心記憶體會小幅上下變動。每台Mac的「記憶體用量」中都有它。

值得查看:執行同樣的App時,系統核心記憶體在幾天內不斷增加,記憶體壓力也開始變黃。重新啟動Mac,觀察它是否會再次增加。如果只有在安裝某個配件或驅動程式時它才會增加,就檢查該軟體是否有更新,或用它自己的解除安裝程式移除它。聲稱能釋放記憶體的App無法釋放系統核心記憶體,因為它必須留在RAM中。

大家常問的問題

Mac上的系統核心記憶體是什麼?

它是系統執行所需的記憶體,必須留在記憶體中,App無法使用。

可以釋放系統核心記憶體嗎?

無法直接釋放。系統不再需要時就會釋放它,例如你結束虛擬機器時。重新啟動會讓它重設。

系統核心記憶體很高是壞事嗎?

只要記憶體壓力是綠色就不是。請看記憶體壓力,而不是單看系統核心記憶體的數值。

系統核心記憶體可以被壓縮或交換檔嗎?

不可以。正因如此它才叫系統核心記憶體。只要系統需要,它就必須留在RAM中。

為什麼kernel_task的記憶體比「系統核心記憶體」少?

系統核心記憶體是以整個系統計算,而不是算在某一個程序上,所以kernel_task那一列不會顯示全部。

系統核心記憶體會影響記憶體壓力嗎?

會。Apple將系統核心記憶體列為記憶體壓力的計算依據之一,其他還有可用記憶體、交換檔速率和檔案快取記憶體。

相關詞條

逐步教學:如何釋放Mac的RAM。

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