2021-05-12 14:32:11
Linux free命令使用及解析
1. 命令格式
free [引數]
2. 命令功能
free 命令顯示系統使用和空閒的記憶體情況,包括實體記憶體、互動區記憶體(swap)和核心緩衝區記憶體。共用記憶體將被忽略
3. 命令引數
-b 以Byte為單位顯示記憶體使用情況。
-k 以KB為單位顯示記憶體使用情況。
-m 以MB為單位顯示記憶體使用情況。
-g 以GB為單位顯示記憶體使用情況。
-h 自動轉換單位(最常用)
-o 不顯示緩衝區調節列。
-s <間隔秒數> 持續觀察記憶體使用狀況。
-t 顯示記憶體總和列。
-V 顯示版本資訊。
4. 輸出解析
[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
的輸出一共有四行,下面依次解釋這幾行:
4.1 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
4.2 -/+ 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
4.3 Swap
行解析
該行為交換分割區的資訊,分別是交換的總量(total),使用量(used)和有多少空閒的交換區(free)。
【完】
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-07/132856.htm
相關文章