free詳解

free命令

>free
total used free shared buff/cache available
Mem: 8010968 935180 5968260 16668 1107528 6835728
Swap: 4194300 0 4194300

free 輸出的是一個表格贵试,其中的數(shù)值都默認以字節(jié)為單位琉兜,free 顯示的是整個系統(tǒng)的內(nèi)存使用情況。每列數(shù)據(jù)的含義分別為:

total 是總內(nèi)存大斜胁!豌蟋;
used: 是已使用內(nèi)存的大小,包含了共享內(nèi)存桑滩;
free: 是未使用內(nèi)存的大形嗥!;
shared: 是共享內(nèi)存的大小往声;
buff/cache: 是緩存和緩沖區(qū)的大欣拚摇;
available: 是新進程可用內(nèi)存的大小浩销。

available 不僅包含未使用內(nèi)存贯涎,還包括了可回收的緩存,所以一般會比未使用內(nèi)存更大

Buffers/Cache

數(shù)據(jù)來源
  • Buffers 是內(nèi)核緩沖區(qū)用到的內(nèi)存慢洋,對應的是/proc/meminfo 中的 Buffers 值塘雳。
  • Cache 是內(nèi)核頁緩存和 Slab 用到的內(nèi)存,對應的是/proc/meminfo 中的 Cached 與 與 SReclaimable 之和
proc 文件系統(tǒng)
  • proc文件系統(tǒng)介紹

/proc 是 Linux 內(nèi)核提供的一種特殊文件系統(tǒng)普筹,是用戶跟內(nèi)核交互的接口败明,用戶可以從 /proc 中查詢內(nèi)核的運行狀態(tài)和配置選項,查詢進程的運行狀態(tài)太防、統(tǒng)計數(shù)據(jù)等;
可以通過/proc 來修改內(nèi)核的配置;
proc文件系統(tǒng)同時也是很多性能工具的最終數(shù)據(jù)來源妻顶,比如我們剛看到的free,就是通過讀取/proc/meminfo 蜒车,得到內(nèi)存的使用情況

  • /proc/meminfo
> man proc 
Buffers %lu
Relatively temporary storage for raw disk blocks that shouldn't get tremendously large (20MB or so).
 
Cached %lu
In-memory cache for files read from the disk (the page cache). Doesn't include SwapCached.
...
SReclaimable %lu (since Linux 2.6.19)
Part of Slab, that might be reclaimed, such as caches.
 
SUnreclaim %lu (since Linux 2.6.19)
Part of Slab, that cannot be reclaimed on memory pressure.

Buffers 是對原始磁盤塊的臨時存儲讳嘱,也就是用來緩存磁盤的數(shù)據(jù),通常不會特別大(20MB 左右)酿愧。這樣沥潭,內(nèi)核就可以把分散的寫集中起來,統(tǒng)一優(yōu)化磁盤的寫入嬉挡,比如可以把多次小的寫合并成單次大的寫等
Cached 是從磁盤讀取文件的頁緩存钝鸽,也就是用來緩存文件讀取的數(shù)據(jù)。這樣庞钢,下次訪問這些文件數(shù)據(jù)時拔恰,就可以直接從內(nèi)存中快速獲取,而不需要再次訪問緩慢的磁盤
SReclaimable 是 Slab 的一部分焊夸。Slab 包括兩部分仁连,其中的可回收部分,用 SReclaimable 記錄阱穗;而不可回收部分饭冬,用 SUnreclaim 記錄

Buffer 是對磁盤數(shù)據(jù)的緩存,而 Cache 是文件數(shù)據(jù)的緩存揪阶,它們既會用在讀請求中昌抠,也會用在寫請求中

關于磁盤和文件的區(qū)別
  • 磁盤是一個塊設備,可以劃分為不同的分區(qū)鲁僚;在分區(qū)之上再創(chuàng)建文件系統(tǒng)炊苫,掛載到某個目錄裁厅,之后才可以在這個目錄中讀寫文件。
  • 其實 Linux 中“一切皆文件”侨艾,而文章中提到的“文件”是普通文件执虹,磁盤是塊設備文件
  • 在讀寫普通文件時,會經(jīng)過文件系統(tǒng)唠梨,由文件系統(tǒng)負責與磁盤交互袋励;而讀寫磁盤或者分區(qū)時,就會跳過文件系統(tǒng)当叭,也就是所謂的“裸I/O“茬故。這兩種讀寫方式所使用的緩存是不同的,也就是文中所講的 Cache 和 Buffer 區(qū)別蚁鳖。
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末磺芭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子醉箕,更是在濱河造成了極大的恐慌钾腺,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琅攘,死亡現(xiàn)場離奇詭異垮庐,居然都是意外死亡松邪,警方通過查閱死者的電腦和手機坞琴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逗抑,“玉大人剧辐,你說我怎么就攤上這事∮矢” “怎么了荧关?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長褂傀。 經(jīng)常有香客問我忍啤,道長,這世上最難降的妖魔是什么仙辟? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任同波,我火速辦了婚禮,結(jié)果婚禮上叠国,老公的妹妹穿的比我還像新娘未檩。我一直安慰自己,他們只是感情好粟焊,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布冤狡。 她就那樣靜靜地躺著孙蒙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悲雳。 梳的紋絲不亂的頭發(fā)上挎峦,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音合瓢,去河邊找鬼浑测。 笑死,一個胖子當著我的面吹牛歪玲,可吹牛的內(nèi)容都是我干的迁央。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼滥崩,長吁一口氣:“原來是場噩夢啊……” “哼岖圈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钙皮,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤蜂科,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后短条,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體导匣,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年茸时,在試婚紗的時候發(fā)現(xiàn)自己被綠了贡定。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡可都,死狀恐怖缓待,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渠牲,我是刑警寧澤旋炒,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站签杈,受9級特大地震影響瘫镇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜答姥,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一铣除、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧踢涌,春花似錦通孽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽互捌。三九已至,卻和暖如春行剂,著一層夾襖步出監(jiān)牢的瞬間秕噪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工厚宰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腌巾,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓铲觉,卻偏偏與公主長得像澈蝙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子撵幽,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容

  • 1.磁盤與文件的區(qū)別 介紹buffer和cache之前灯荧,先介紹磁盤和文件的區(qū)別。磁盤是一個塊設備盐杂,可劃分為不同的分...
    coderljx閱讀 1,105評論 0 1
  • meminfo內(nèi)存結(jié)構 MemTotal 當我們在linux上查看內(nèi)存狀況的時候發(fā)現(xiàn)上面的打印一般的是 ** Me...
    zjfclimin閱讀 9,241評論 0 4
  • linux下free命令詳解 free 命令顯示系統(tǒng)內(nèi)存的使用情況逗载,包括物理內(nèi)存、交換內(nèi)存(swap)和內(nèi)核緩沖區(qū)...
    GoFighting_c2f1閱讀 307評論 0 1
  • 1 free 1.1 free命令原理 free是通過查看 /proc/meminfo 來獲取內(nèi)存的使用情況链烈。但是...
    AydanLinux閱讀 332評論 0 0
  • free命令可以顯示Linux系統(tǒng)中空閑的厉斟、已用的物理內(nèi)存及swap內(nèi)存,及被內(nèi)核使用的buffer。在Linux...
    石樂志的LK閱讀 739評論 0 0