一、作用
用來顯示記憶體的使用情況,使用許可權是所有使用者
二、語法
free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-v]
常用引數詳解
-b, -k,-m,-g:分別以位元組( bytes、kb、mb、gb)為單位顯示記憶體使用情況
-s delay:顯示每隔多少秒數來顯示一次記憶體使用情況(與-c一起使用)
-c:按每隔幾秒顯示記憶體使用情況時的重新整理次數(與-s一起使用)
-t:顯示記憶體總和列。
-o:不顯示緩衝區調節列
-v:free的版本
三、工作原理
總物理記憶體
used-------
已使用記憶體,一般情況這個值會比較大
free------
完全未被使用的記憶體
shared------
應用程式共享記憶體
buffers------
快取,主要用於目錄方面、inode 值等(ls 大目錄可看到這個值增加)
cached------
快取,用於已開啟的檔案
1) 第一行:mem,表示 作業系統物理記憶體使用情況(
針對作業系統而言)
2)第二行:-/+ buffers/cached,表示應用程式的記憶體使用情況
(針對應用程式而言
)-buffers/cache : 應用程式使用的記憶體大小(等於used- 快取值 =61-7-36=18m,因採用mb為單位,所以存在誤差)
+buffers/cache: 所有可**用程式使用的記憶體大小(等於free +快取值=180+7+36=223m)
所以-buffer/cache
反映的是:
程式實實在在吃掉的記憶體;而+buffer/cache反映的是:
可以挪用的記憶體總數
公式如下:
(1) -buffers/cache=used-buffers-cached
(2)+buffers/cache=free+buffers+cached
注意:由於第二行描述的是應用程式的記憶體使用情況,所以這裡的used表示當前應用程式所占用的記憶體,而free則表示應用程式還可以使用記憶體(總的物理記憶體 - 應用程式已經使用的)
3)第三行:swap,表示硬碟上交換分割槽的使用情況
total 1019:表示總的交換分割槽的空間大小
used 0:表示當前還沒有使用交換分割槽那部分空間
free 1019:表示還可用的交換分割槽的空間大小
注意: linux系統中,如果 swap分割槽的空量也開始使用的話,則表示你的記憶體可能不夠用,需要加一些記憶體了,因為linux是先使用記憶體的容量,當記憶體不夠用時,才會使用swap 分割槽的空間,這一點也正是與windows的區別;windows是使用swap分割槽,後使用記憶體的(看了很生氣,有記憶體不用,反而使用磁碟中所劃分出來 的虛擬記憶體,你說直接使用記憶體好,還是讀取磁碟好,當然是直接讀記憶體)
五、共享記憶體、cache、buffercache
和 buffer 的區別
(1)cache
它是快取記憶體,是位於cpu 與主記憶體間的一種容量較小但速度很高的儲存器。由於cpu 的速度遠高於主記憶體,cpu 直接從記憶體中訪問資料要等待一定時間週期,cache 中儲存著cpu 剛用過或迴圈使用的一部分資料,當cpu 再次使用該部分資料時可從cache 中直接呼叫,這樣就減少了cpu 的等待時間, 提高了系統的效率。
cache 又分為一級cache(l1 cache) 和二級cache(l2 cache)
l1 cache 整合在 cpu 內部
l2 cache 早期一般是焊在主機板上, 現在也都整合在cpu 內部,常見的容量有256kb 或512kb l2 cache
(2)buffer
名為緩衝區,乙個用於儲存速度不同步的裝置或優先順序不同的裝置之間傳輸資料的區域。通過緩衝區,可以使程序之間的相互等待變少,從而使從速度慢的裝置讀入資料時,速度快的裝置的操作程序不發生間斷。
linux中使用free指令,那麼free 中的buffer 和cache :(它們都是占用記憶體):
buffer : 作為buffer cache 的記憶體,是塊裝置的讀寫緩衝區
cache: 作為page cache 的記憶體, 檔案系統的cache
Linux 效能監測工具
乙個完整執行的 linux 系統包括很多子系統 介紹,cpu,memory,io,network,監測和評估這些子系統是效能監測的一部分。我們往往需要巨集觀的看整個系統狀態,也需要微觀的看每個子系統的運 況。幸運的是,我們不必重複造輪子,監控這些子系統都有相應的工具可用,這些經過時間考驗 隨 uni...
Linux 效能監測工具
基於命令列使用的系統效能監測工具 1 atop 相比top更好使用的工具 它可以展示每日的系統日誌以進行長期的程序活動分析,並高亮顯示過載的系統使用資源。它包含了cpu,記憶體,交換空間,磁碟和網路層的度量指標。所有這些功能只需在終端執行atop即可。2 sysdig 系統程序的高階檢視 sysdi...
Linux 效能監測 工具
乙個完整執行的 linux 系統包括很多子系統 介紹,cpu,memory,io,network,監測和評估這些子系統是效能監測的一部分。我們往往需要巨集觀的看整個系統狀態,也需要微觀的看每個子系統的運 況。幸運的是,我們不必重複造輪子,監控這些子系統都有相應的工具可用,這些經過時間考驗 隨 uni...