free 命令顯示系統使用和空閒的內存情況,包括物理內存、交互區內存(swap)和內核緩沖區內存
參數
-b 顯示內存的單位為字節
-k 顯示內存的單位為 KB
-m 顯示內存的單位為 M
-o 忽略緩沖區調節列
-t 總和信息
-s<時間> 每隔指定時間執行一次命令,單位為s
-h 以可讀形式顯示容量,需要free -V顯示版本大於3.3
-V 版本信息
示例
例1
復制代碼
代碼如下:
root@tnak-VirtualBox:/home/tnak # free -s 3 #每3秒執行一次
復制代碼
代碼如下:
root@tnak-VirtualBox:/home/tnak # free -m #以M為單位
復制代碼
代碼如下:
root@tnak-VirtualBox:/home/tnak # free -k #以K為單位
例2
free -h #以可讀形式顯示容量,需要procps-ng版本大於3.3
復制代碼
代碼如下:
$ free -h
PS:返回信息說明
Mem:表示物理內存統計
-/+ buffers/cached:表示物理內存的緩存統計
Swap:表示硬盤上交換分區的使用情況,
第1行 Mem:
total:表示物理內存總量。
used:表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存並未實際使用。
free:未被分配的內存。
shared:共享內存,一般系統不會用到,這裡也不討論。
buffers:系統分配但未被使用的buffers 數量。
cached:系統分配但未被使用的cache 數量。
total = used + free
第2行 -/+ buffers/cached:
used:也就是第一行中的used - buffers-cached 也是實際使用的內存總量。
free:未被使用的buffers 與cached 和未被分配的內存之和,這就是系統當前實際可用內存=free+buffers+cached。
因為buffers和cached是系統為了提高性能申請的內存數,實際上當應用程序需要此功能時,是可以使用這些內存的,所以對應用程序來說,這些內存也是可以使用的。
第三行則是針對交換控件,顯示使用量(used)和有多少空閒的交換區(free)。