【Linux】free命令查詢服務器內存信息

Linux的free命令對於很多的Linux運維來說,應該是非常熟悉的了。但作爲一個經常使用linux系統的小白來說,我們也需要了解一下free命令。
free 命令顯示系統內存的使用情況,包括物理內存、交換內存(swap)和內核緩衝區內存。
free命令的返回結果有4行:標題行、Mem、-/+buffers/cache、Swap,下面逐一瞭解。

1、Mem行
顯示物理內存情況。各列含義如下:
total    -->內存總量
used    -->使用內存
free    -->可用內存
shared    -->共享內存
buffers    -->buffer緩存,可回收
cached    -->cached緩存,可回收
總內存=使用的+可用的:Mem.total = used+free

2、-/+buffers/cache行
這裏的buffers指Buffer cache(緩衝區緩存),cache指Page cache(頁面緩存)。在當前的Linux內核中,Page cache是針對內存頁的緩存。
也就是說,如果有內存是以page進行分配管理的,都可以使用Page cache作爲其緩存來管理使用。
當然,不是所有的內存都是以頁(page)進行管理的,也有很多是針對塊(block),這部分內存使用如果要用到cache功能,則都集中到buffer cache中來使用。
真實可用的內存:-/+buffers/cache.free
(計算已使用內存時減去buffers/cache,計算可使用內存時加上buffers/cache。)

Mem行和buffers/cache行的各列計算關係如下:(M代表Mem行,B代表buffers/cache行)

 

3、Swap行
顯示交換空間使用情況。
交換空間(swap space)是磁盤上的一塊區域,可以是一個分區,也可以是一個文件。
當系統物理內存喫緊時,Linux會將內存中不常訪問的數據保存到swap上,這樣系統就有更多的物理內存爲各個進程服務。
而當系統需要訪問swap上存儲的內容時,再將swap上的數據加載到內存中,這就是常說的換出和換入。
交換空間可以在一定程度上緩解內存不足的情況,但是它需要讀寫磁盤數據,所以性能不是很高。

4. free [-bkmgotV][-s <間隔秒數>]
usage: free [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V]
  -b,-k,-m,-g show output in bytes, KB, MB, or GB
  -h human readable output (automatic unit scaling)
  -l show detailed low and high memory statistics
  -o use old format (no -/+buffers/cache line)
  -t display total for RAM + swap
  -s update every [delay] seconds
  -c update [count] times
  -a show available memory if exported by kernel (>80 characters per line)
  -V display version information and exit
參數說明:
-b  以Byte爲單位顯示內存使用情況。
-k  以KB爲單位顯示內存使用情況。(默認free)
-m  以MB爲單位顯示內存使用情況。
-g   以G爲單位顯示內存使用情況。
-h   自動取整數顯示內存使用情況。
-o  不顯示緩衝區調節列。 
-t  顯示內存總和列。
-a   顯示available內存
-V  顯示版本信息。
-s<間隔秒數>  持續觀察內存使用狀況。

5秒查詢一次,退出用ctrl+c

5. /proc/meminfo 文件
其實free命令中的信息都來自於/proc/meminfo文件。/proc/meminfo文件包含了更多更原始的信息,只是看起來不太直觀:
cat /proc/meminfo

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章