Linux必知必會-理解內存使用統計命令free

DSC07274

本文詳細介紹了Linux系統中的free命令的使用方法以及關鍵參數的含義,這多是你見過的關於free命令最詳細的一篇文章了,絕對值得你收藏。linux

free命令顯示了Linux系統中物理內存、交換分區的使用統計信息。git

指標說明

使用free命令查看內存信息,最重要的是理解當前系統的可用內存並非直接看 free 字段就能夠看出來的,應該參考的是github

可用內存 = free + buffers + cached

除去標題行以後,第一行爲 物理內存使用統計segmentfault

標題 說明
total 物理內存總量 total = used + free
used 已使用內存總量,包含應用使用量+buffer+cached
free 空閒內存總量
shared 共享內存總量
buffers 塊設備所佔用的緩存
cached 普通文件數據所佔用的緩存
available 當前可用內存總量(可用於分配給應用的,不包含虛擬內存)

對於available字段,在內核3.14中,它會從/proc/meminfo中的MemAvailable讀取,在內核2.6.27+的系統上採用模擬的方式獲取,其它狀況下直接與free的值相同。緩存

第二行-/+ buffers/cache 中只有兩列usedfree有值,它們是物理內存的調整值url

標題 說明
used 已使用內存(used)減去buffer和cached以後的內存,也就是應用正在使用的內存總量
free 空閒內存加上buffer和cached以後的內存,也就是真正的可用內存總量

第三行爲交換分區使用統計spa

標題 說明
total 交換分區內存總量
used 正在使用的交換分區內存
free 空閒交換分區內存

在上面這些指標中,咱們須要注意的是在下面這些狀況下,系統是正常的,不須要擔憂code

  • 空閒內存free接近於0server

  • 已使用內存used接近於total內存

  • 可用內存(free+buffers/cache)佔total的 20% 以上

  • 交換分區內存 swap 沒有發生改變

下面狀況說明內存太低,須要注意!

  • 可用內存(free+buffers/cache)太低,接近於0的時候

  • 交換分區內存佔用swap used增長或者有波動

  • dmesg | grep oom-killer顯示有OutOfMemory-killer正在運行

經常使用參數

選項 說明
-b/k/m/g 以bytes/kilobytes/megabytes/gigabytes爲單位顯示結果
-h 以人類可讀的方式輸出統計結果
-t 使用該選項會多顯示一行標題爲Total的統計信息
-o 禁止顯示第二行的緩衝區調整值
-s 每隔多少秒自動刷新結果
-c -s配合使用,控制刷新結果次數
-l 顯示高低內存的統計詳情
-a 顯示可用內存
-V 顯示版本號

版本不一樣,可能部分選項也不相同。

參考示例

# free -t -a -g

本文將會持續修正和更新,最新內容請參考個人 GITHUB 上的 程序猿成長計劃 項目,歡迎 Star,更多精彩內容請 follow me

參考文獻

相關文章
相關標籤/搜索