緩衝區快取和可用內存

緩衝區快取和可用內存

下面是 Ubuntu 中 free 的輸出:

$ free
             total       used       free     shared    buffers     cached
Mem:       8173180    8013092     160088          0    1076276    3091136
-/+ buffers/cache:    3845680    4327500
Swap:     11719380        312   11719068

總實體記憶體為 8 GB。已使用的總記憶體接近該值,但緩衝區快取使用的總記憶體是該值的一半,大約為 4 GB。幾乎沒有任何記憶體被用作交換。

現在派生了緩衝區緩存,因為我們已經對磁碟進行了讀取/寫入,然後在第一次之後,應用程式被載入到記憶體中,直到不再需要加速讀取/寫入。因此磁碟緩衝的讀/寫總量為 4 GB。

好的,但是什麼樣的進程正在使用其他 4 GB 實體記憶體(不包括緩衝區高速緩存)?我怎樣才能確定這一點?

答案1

剩餘記憶體用於系統上運行的各種程式的堆疊和堆疊。正如 Joel Davis 在他的評論中所說,您可以使用gnome-system-monitorps(儘管您想要rss代替vsize)來查看哪些程式正在使用它。您也可以使用top命令列工具,它預設會按 CPU 使用率排序。輸入後M,它將切換到按記憶體使用量排序。

另外,我想糾正一個誤解:交換不使用記憶。 312 並不意味著 312KB RAM 用於交換。它實際上意味著使用 312 KB 的交換區來代替 RAM。如果您的電腦耗盡 RAM,它將開始將記憶體內容寫入磁碟(「分頁」)以釋放 RAM。該交換數字告訴您有多少 RAM 已寫入磁碟。

相關內容