本文詳細介紹了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 中只有兩列used和free有值,它們是物理內存的調整值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。