Memory
緩衝區高速記憶體和空閒記憶體
下面是 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 個物理記憶體(不包括緩衝區記憶體)?我怎樣才能確定呢?
剩餘記憶體用於系統上執行的各種程序的堆和堆棧。正如 Joel Davis 在他的評論中所說,您可以使用
gnome-system-monitor
orps
(儘管您想要rss
代替vsize
)來查看哪些程序正在使用它。您還可以使用top
命令行工具,該工具預設按 CPU 使用率排序。鍵入M
,它將切換到按記憶體使用情況排序。另外,我想糾正一個誤解:交換不使用記憶體。312 並不意味著 312KB 的 RAM 用於交換。這實際上意味著使用 312 KB 的交換空間代替 RAM。如果您的機器記憶體不足,它將開始將記憶體內容寫入磁碟(“分頁”)以釋放記憶體。該交換號告訴您已將多少 RAM 寫入磁碟。