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 或優化程式的記憶體用量。