free — 顯示記憶體使用狀況

顯示系統 RAM 與 Swap 的使用量與可用量。

語法

free [選項]

常用選項

選項 說明 範例
-h, --human 以人類可讀格式顯示(自動選擇適合的單位) free -h
-m 以 MB 為單位顯示 free -m
-g 以 GB 為單位顯示 free -g
-s N 每 N 秒更新一次(持續監控) free -h -s 2
-t, --total 在最後一行顯示 RAM + Swap 的合計 free -ht
-c N 更新 N 次後停止 free -h -s 1 -c 5

使用範例

範例 1:查看記憶體使用(人類可讀)

free -h 是最常用的形式,清楚顯示 RAM 與 Swap 的使用狀況。

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            7.8G        3.2G        512M        256M        4.1G        4.1G
Swap:           2.0G          0B        2.0G
重點是 available 欄位(非 free):available = free + 可回收的 buff/cache,代表實際可給程式使用的記憶體量。
範例 2:持續監控記憶體

使用 -s 每 2 秒更新一次,持續監控記憶體使用變化,按 Ctrl+C 停止。

$ free -h -s 2
(每 2 秒更新一次輸出)
範例 3:顯示含合計行

使用 -t 在最後加上 RAM + Swap 的總計列。

$ free -ht
              total        used        free
Mem:            7.8G        3.2G        4.6G
Swap:           2.0G          0B        2.0G
Total:          9.8G        3.2G        6.6G

常見錯誤與排錯

free 顯示 available 很少,系統很慢
原因
available 記憶體不足時,系統可能開始使用 Swap,導致效能大幅下降。
解法
用 ps aux --sort=-%mem | head 找出佔用最多記憶體的程序,考慮 升級 RAM 或優化程式的記憶體用量。

延伸閱讀