Linux&&FREE命令詳解

各行含義詳解

在這裏插入圖片描述

第一行的輸出是從操作系統(OS)的角度來看的

計算機上一共有: (Mem.total)8133084KB(缺省時free的單位爲KB)物理內存; 在這些物理內存中有(Mem.used)6854048KB被使用了; 還用(Mem.free)1279036KB是可用的。
其中,Mem.total = Mem.used + Mem.free

  • Mem.shared:表示被幾個進程共享的內存的,現在已經deprecated,其值總是0(當然在一些系統上也可能不是0,主要取決於free命令是怎麼實現的)。
  • Mem.buffers:表示被OS buffer住的內存,buffer是用於存放要輸出到disk(塊設備)的數據的.
  • Mem.cached:表示被OS cache的內存,cache是存放從disk上讀出的數據

Linux和其他成熟的操作系統(例如windows),爲了提高IO read的性能,總是要多cache一些數據,這也就是爲什麼Mem.cached比較大,而Mem.free比較小的原因。

第二行是從一個應用程序的角度看系統內存的使用情況

- buffers/cache.used:表示一個應用程序認爲系統被用掉多少內存.
+ buffers/cache.free:表示一個應用程序認爲系統還有多少內存.
因爲被系統cache和buffer佔用的內存可以被快速回收,所以通常+ buffers/cache.free比- buffers/cache.used會大很多。
- buffers/cache.used = Mem.used - Mem.buffers - Mem.cached
+ buffers/cache.free = Mem.free + Mem.buffers + Mem.cached
free命令的所有輸出值都是從/proc/meminfo中讀出的 

釋放掉被系統cache佔用的數據(Mem.cached)

echo 3 > /proc/sys/vm/drop_caches

第四行爲交換區的信息

分別是交換的總量(Swap.total)2097148KB(total),使用量(Swap.used)122836KB(used)和有多少空閒的交換區(Swap.free)1974312(free)

命令參數介紹

-b  以Byte爲單位顯示內存使用情況。
-k  以KB爲單位顯示內存使用情況。
-m  以MB爲單位顯示內存使用情況。
-g 以GB爲單位顯示內存使用情況。
-o  不顯示緩衝區調節列。
-s <間隔秒數>  持續觀察內存使用狀況。
-t  顯示內存總和列。
-V  顯示版本信息。
參考資料:
https://www.cnblogs.com/kex1n/p/6010496.html

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