怎樣理解 Mac OS 的 記憶體壓力 和實際記憶體占用有何異同

時間 2021-06-04 08:18:34

1樓:

記憶體壓力是乙個指示器,表示系統滿足使用者活動的記憶體要求的能力。較高記憶體壓力表示系統即將達到極限,並且效能可能降低。

物理記憶體:此電腦上安裝的記憶體總量。

已快取檔案:為提高效能,由系統快取入未使用的記憶體大小。

已使用的交換:暫時移至磁碟,以便在記憶體中為最近使用的資料騰出空間的記憶體壓縮量。

2樓:

看圖。很直白,物理記憶體就是所擁有的記憶體總量。已使用記憶體是已經占用的記憶體。應用記憶體和聯動記憶體加起來就是已使用記憶體。

這其中,已快取檔案純粹是為了加快檔案開啟速度,把最近用過的檔案讀入記憶體,隨時可以清空。然而正常情況清空了也沒有多少好處。

我這裡為了演示用 `purge' 命令做了手動清空,已快取檔案明顯減少了。

聯動記憶體,是從軟體要求系統分給每個軟體以保證能正常執行的記憶體的總和。這部分對於系統來說是基本要保障的。其他部分則可以壓縮,寫入硬碟。

接下來切入正題

實際上,我們沒法從常見渠道獲取記憶體壓力的具體演算法,甚至都不知每乙個版本中這個演算法是否有變化。已知的是,macOS 的活動監視器根據約一百多個記憶體管理相關的核心變數中的數個計算出的這個記憶體壓力統計。

但是可以大致推測出來的是,記憶體壓力主要根據可用記憶體,根據上圖就是物理記憶體 - (已使用記憶體 + 已快取檔案),以及系統計算的乙個正常記憶體壓力下的最小可用記憶體,即目標可用記憶體計算的,一般應該是 1MB 左右。當可用記憶體小於目標可用記憶體時,系統開始通過清理快取檔案,壓縮,SAWP,增加可用記憶體,正常情況下在導致記憶體壓力的程序結束後記憶體壓力就會降到綠色。另外通過測試可用的出的是 Swap 效率其實是考慮在記憶體壓力計算中的,當Swap速度不夠時會產生壓力警報。

3樓:柴健翌

很多佔記憶體的程式其實只是幹佔著而已,需要記憶體了可以隨時空出來。就好像你從來不整理書桌,有事了直接把桌上所有東西倒進廢紙簍一樣,簡單粗暴高效可靠

我才不會說我就是這樣整理書桌的(_)

主記憶體和工作記憶體怎麼理解?

Butters 這個問題,本質上是對應於實際上CPU和記憶體的關係模型。尤其是多核心的CPU和記憶體的關係。首先,CPU是無法直接對記憶體中的資料進行計算的,CPU的計算是這樣的 CPU把記憶體中的資料載入到暫存器中 對暫存器中的資料進行計算 把計算後的資料寫回到記憶體中 而且,在CPU和記憶體中間...

為何 macOS 的記憶體占用那麼大?

大部分系統都會盡可能地利用記憶體,之所以覺得 Max OS 記憶體占用那麼大,只是因為 Windows 沒有顯示預先快取的內存在圖表中,Mac OS 顯示了預先快取的記憶體。像這張圖要是在 Mac OS 裡,那總占用顯示的是 96 在 Windows 中是沒有把備用的記憶體占用加入到記憶體使用量的圖...

為什麼 macOS 對記憶體的需求遠遠多於 Windows ?

1 常規情況下WIN10整合顯示卡先去1G之後 Intel只佔128M 8G記憶體開機後基本可用記憶體都還在6G以上,日常辦公苦惱記憶體用不掉啊。這幾天換了乙個16G記憶體的筆記本,完全不知道怎麼用這些記憶體啊 改天上圖,WIN筆記本沒有電了 2 MAC下8G記憶體,好像也用不掉,記憶體壓力幾乎沒有...