使用free命令查看內存占用是linux下的常用方法,輸入free -h可直觀顯示物理內存和swap的總容量、已用、空閑及緩存情況;通過watch -n 2 ‘free -h’可實現每2秒刷新監控;buff/cache高屬正常現象,系統會根據需要自動釋放;此外top或htop工具能提供更詳細的進程級內存信息。1.free命令默認以kb顯示,建議加-h參數適配單位;2.輸出字段中available反映實際可用內存;3.結合watch可動態觀察內存變化;4.buff/cache占用高不影響性能,系統會自動調整;5.top或htop支持查看各進程內存消耗。
linux下查看內存占用情況最常用的方法之一就是使用free命令。它能快速顯示系統當前的內存使用狀態,包括物理內存、交換分區(swap)以及內核使用的緩存等信息。
基本用法:直接查看當前內存狀態
在終端中輸入:
free
默認輸出是以 KB 為單位的,看起來可能不太直觀。建議加上 -h 參數,讓結果自動適配單位(如 MB、GB),更易讀:
free -h
輸出示例:
- total:總內存大小
- used:已使用內存(不包含 buffer/cache)
- free:完全空閑的內存
- shared:多個進程共享的內存
- buff/cache:用于文件系統緩存和緩沖區的內存
- available:估算的可用內存,是更值得關注的一個值
實時監控:用 watch 動態觀察內存變化
如果你想知道內存使用有沒有波動,可以結合 watch 命令實現動態刷新:
watch -n 2 'free -h'
這個命令會每 2 秒刷新一次內存狀態,方便你觀察系統運行過程中內存的變化趨勢。
你可以根據需要調整刷新頻率,比如 -n 1 就是一秒一次。
深入一點:buff/cache 占用高是不是有問題?
有時候你會發現“used”不高,但“buff/cache”很高,這其實是正常的。Linux 會盡可能利用空閑內存來做磁盤緩存,提高訪問速度。
當你運行更多程序、需要更多內存時,系統會自動釋放這部分緩存,所以不必擔心。如果看到 available 還有足夠空間,說明系統內存壓力不大。
其他方法:top 或 htop 查看更詳細的信息
除了 free,你也可以使用 top 或更友好的 htop 工具來查看內存使用情況。它們不僅能看到整體內存,還能看到每個進程的內存占用。
安裝 htop(以 ubuntu 為例):
sudo apt install htop
然后運行:
htop
可以看到內存使用條形圖、swap 使用情況,以及各個進程對內存的消耗。
基本上就這些。free 是一個簡單但非常實用的命令,適合日常快速檢查內存狀態。配合 watch 或 htop,就能滿足大多數監控需求了。