free [參數]
free 命令顯示系統使用和空閒的內存情況,包括物理內存、交互區內存(swap)和內核緩沖區內存。共享內存將被忽略
-b 以Byte為單位顯示內存使用情況。
-k 以KB為單位顯示內存使用情況。
-m 以MB為單位顯示內存使用情況。
-g 以GB為單位顯示內存使用情況。
-h 自動轉換單位(最常用)
-o 不顯示緩沖區調節列。
-s <間隔秒數> 持續觀察內存使用狀況。
-t 顯示內存總和列。
-V 顯示版本信息。
[zhangchengfei@Master:~]$free
total used free shared buffers cached
Mem: 16079364 14901460 1177904 5278136 65408 5921568
-/+ buffers/cache: 8914484 7164880
Swap: 12223484 1388724 10834760
free
命令的所有輸出值都是從/proc/meminfo
中讀出的。這裡free
的輸出一共有四行,下面依次解釋這幾行:
Mem
行解析這行輸出是從操作系統(OS)來看的,也就是說,從OS的角度來看,計算機上一共有: 16079364KB
(默認單位為KB)物理內存;在這些物理內存中有14901460KB
被使用;還用1177904
KB是可用的;
這裡有一個等式:
Mem.total = Mem.used + Mem.free
shared
表示被幾個進程共享的內存的,用於IPC
,現在已經deprecated,但我的機器上還是顯示了,主要取決於free
命令是怎麼實現的。
buffer
表示被系統buffer的內存,用於存放要輸出到disk(塊設備)的數據。 cached
表示被系統cache的內存,用於存放從disk上讀入的數據。
下面是英文原版解釋,這二個都是為了提高IO性能的。
A buffer is something that has yet to be “written” to disk.
A cache is something that has been “read” from the disk and stored for later use.
釋放掉被系統cache占用的數據;
echo 3>/proc/sys/vm/drop_caches
-/+ buffers/cache
行解析該行是從應用程序的角度看系統內存的使用情況。
used
表示應用程序認為系統已經用掉多少內存; free
表示應用程序認為系統還有多少內存;
因為被系統cache
和buffer
占用的內存可以被快速回收,這裡都算在free
裡面。
這裡有兩個等式:
(-/+buffer/cache).used = Mem.used - Mem.buffers - Mem.cached
(-/+buffer/cache).free = Mem.free + Mem.buffers + Mem.cached
Swap
行解析該行為交換分區的信息,分別是交換的總量(total),使用量(used)和有多少空閒的交換區(free)。
【完】
本文永久更新鏈接地址:
http://xxxxxx/Linuxjc/1141039.html TechArticle