下面是 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-monitor
或ps
(儘管您想要rss
代替vsize
)來查看哪些程式正在使用它。您也可以使用top
命令列工具,它預設會按 CPU 使用率排序。輸入後M,它將切換到按記憶體使用量排序。
另外,我想糾正一個誤解:交換不使用記憶。 312 並不意味著 312KB RAM 用於交換。它實際上意味著使用 312 KB 的交換區來代替 RAM。如果您的電腦耗盡 RAM,它將開始將記憶體內容寫入磁碟(「分頁」)以釋放 RAM。該交換數字告訴您有多少 RAM 已寫入磁碟。