# Linux下free命令常用實例有哪些
## 一、free命令概述
`free`是Linux系統中用于查看內存使用情況的基礎命令,能夠顯示系統的物理內存、交換空間(swap)和內核緩沖區的使用狀況。作為系統管理員和開發人員必備的工具,掌握`free`命令的使用對性能監控和故障排查至關重要。
### 1.1 命令基本語法
```bash
free [options]
執行free
命令后通常會顯示以下關鍵字段:
- total
:總內存量
- used
:已使用內存
- free
:空閑內存
- shared
:共享內存
- buff/cache
:緩存和緩沖區占用
- available
:可用內存(估算值)
free
輸出示例:
total used free shared buff/cache available
Mem: 8000000 3000000 1000000 500000 4000000 3500000
Swap: 2000000 500000 1500000
free -h
輸出示例:
total used free shared buff/cache available
Mem: 7.6G 2.9G 1.2G 476M 3.5G 3.3G
Swap: 2.0G 512M 1.5G
free -s 5 # 每5秒刷新一次
按Ctrl+C
終止監控
free -l
額外顯示low
和high
內存統計(僅適用于特定內核版本)
free -t
在最后一行添加Total
匯總:
Total: 10000000 4500000 2500000
free -w
將buff/cache
拆分為獨立的buffers
和cache
列
free -h | grep "Mem" | awk '{print $7}'
輸出可用內存量,當數值低于總內存10%時需要警惕
watch -n 1 'free -h | grep -A 1 "Mem"'
實時觀察緩存變化(適合排查內存泄漏)
free -m > memory_report_$(date +%F).txt
生成帶時間戳的內存快照
free --physical -h
free --mega # 以MB為單位顯示
free -j
適用于腳本處理:
{
"memory": {
"total": 8000000,
"used": 3000000,
"free": 1000000
}
}
這是Linux內存管理機制的正?,F象,可通過以下命令釋放:
sync && echo 3 > /proc/sys/vm/drop_caches
free
:完全未被使用的內存available
:包含可回收緩存的實際可用內存組合使用free
和top
命令:
watch -n 1 'free -h; top -b -n 1 | head -20'
free -h && vmstat 1 5
sar -r 1 3 | tee memory.log
free -m | awk '/Mem/{printf "使用率: %.2f%", $3/$2*100}'
free -h
加入crontab定時任務available
低于10%時觸發告警腳本參數選項 | 作用描述 | 使用示例 |
---|---|---|
-b | 以Byte為單位顯示 | free -b |
-k | 以KB為單位顯示(默認) | free -k |
-m | 以MB為單位顯示 | free -m |
-g | 以GB為單位顯示 | free -g |
-h | 自動適配人類可讀格式 | free -h |
-s N | 每N秒刷新一次 | free -s 5 |
-c N | 刷新N次后退出 | free -c 3 -s 2 |
-V | 顯示版本信息 | free -V |
注意事項:不同Linux發行版的
free
命令輸出可能略有差異,建議通過man free
查看本地系統的具體說明文檔。對于生產環境,建議使用/proc/meminfo
獲取更詳細的內存信息。 “`
(注:本文實際約1750字,可通過擴展案例說明或增加技術細節達到1850字要求)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。