Linux free 檢查記憶體使用量

使用 free 指令可以快速查看系統的實體記憶體 (RAM) 和置換空間 (Swap) 的使用情形。

基本用法

同樣建議加上 -h (human-readable),以 GB/MB 顯示。

free -h

輸出範例:

               total        used        free      shared  buff/cache   available
Mem:           7.7Gi       2.1Gi       1.2Gi       200Mi       4.4Gi       5.2Gi
Swap:          2.0Gi          0B       2.0Gi

欄位解讀

很多人看到 free 很小就以為記憶體不夠了,其實不然。

  • total:總記憶體量。
  • used:程式真正使用的量。
  • free:完全沒被用到的量(通常很少)。
  • buff/cache:系統為了加速 IO,會把多餘的記憶體拿來當快取 (Cache)。這部分記憶體是可以隨時被釋放的
  • available這才是重點! 這是「真正還有多少記憶體可以給新程式使用」的估算值 (free + 可釋放的 buff/cache)。

只要 available 還夠,就不用太擔心,Linux 很聰明,傾向把記憶體用好用滿來加速系統,而不是留著養蚊子。

Swap (置換空間)

Swap 是當 RAM 真的不夠用時,把硬碟當作暫時記憶體來用。 如果你的 Swap used 很高,而且系統變得很慢,那通常代表你需要增加實體記憶體了 (RAM 不足)。