echo N>/proc/sys/vm/drop_caches清理緩存

echo N > /proc/sys/vm/drop_caches , 當(dāng)N數(shù)值不同時(shí)绢彤,free –m存在差異

1.1、echo寫(xiě)入數(shù)值之前—free-m內(nèi)容
首先查看/proc/sys/vm/drop_caches的默認(rèn)值,以便可以修改回來(lái)

然后free-m查看此時(shí)內(nèi)存使用情況济瓢,對(duì)于各字段含義,可以參考:

第一類(lèi)單位參數(shù):

1) -b, –bytes, 以Byte為單位顯示內(nèi)存使用情況
2) -k, –kilo坡贺, 以KB為單位, 這也是默認(rèn)值
3) -m, –mega箱舞, 以MB為單位顯示內(nèi)容使用情況
4) -g, –giga遍坟, 以GB為單位顯示內(nèi)存使用情況

第二類(lèi)參數(shù):

1)、 -h, –human晴股, 自動(dòng)將數(shù)值轉(zhuǎn)換為人類(lèi)易讀形式
2)愿伴、 -c, –count, 展示結(jié)果count次电湘,需與-s配合使用
3)隔节、 -s, –seconds, 動(dòng)態(tài)刷新內(nèi)存使用情況的間隔

free -m各字段含義
第一部分Mem行:
========================
total 內(nèi)存總數(shù): 3865M 
used 已經(jīng)使用的內(nèi)存數(shù): 1545M 
free 空閑的內(nèi)存數(shù): 2320M 
shared 多個(gè)進(jìn)程共享的內(nèi)存總額 196M 
buffers Buffer 緩存內(nèi)存數(shù): 176M 
cached Page 緩存內(nèi)存數(shù):569M 
關(guān)系:total (3865M) = used(1545M) + free(2320M)
第二部分(-/+ buffers/cache):
========================
(-buffers/cache) used內(nèi)存數(shù):798M 
(指的第一部分Mem行中的used – buffers – cached) 
即為1545 – 176 – 569 = 800 取整時(shí)計(jì)算差異 2M

(+buffers/cache) free內(nèi)存數(shù): 3066M 
(指的第一部分Mem行中的free + buffers + cached) 
即為2320 + 176 + 569 = 3065 取整時(shí)計(jì)算差異 1M
第三部分是指交換分區(qū)
========================
當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候寂呛,就需要將物理內(nèi)存中的一部分空間釋放出來(lái)怎诫,以供當(dāng)前運(yùn)行的程序使用。這些被釋放的進(jìn)程被臨時(shí)保存到Swap空間中贷痪,等到那些程序要運(yùn)行時(shí)幻妓,再?gòu)腟wap分區(qū)中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣劫拢,系統(tǒng)總是在物理內(nèi)存不夠時(shí)涌哲,才進(jìn)行Swap交換胖缤。所以swap分區(qū)不被占用或者占用很少,說(shuō)明現(xiàn)在系統(tǒng)內(nèi)存夠用阀圾,運(yùn)行還算良好哪廓,不會(huì)影響系統(tǒng)運(yùn)行

執(zhí)行echo 1 > /proc/sys/vm/drop_caches, 其中綠色框是標(biāo)記發(fā)生改變的部分初烘,由于buffers 和 cached數(shù)值變化涡真,第一行free和used均發(fā)生變化

20180319101918734.png

執(zhí)行echo 2 > /proc/sys/vm/drop_caches, 其中綠色框是標(biāo)記發(fā)生改變的部分肾筐,這次僅有buffers由0變?yōu)?哆料,cached基本沒(méi)有變化


20180319101929974.png

執(zhí)行echo 3 > /proc/sys/vm/drop_caches, 這次基本上吗铐,和寫(xiě)入2區(qū)別不大东亦,沒(méi)有什么變化


20180319101941679.png

執(zhí)行echo N > /proc/sys/vm/drop_caches,再free –m查看內(nèi)存使用情況唬渗,輸入不同的N值典阵,free –m內(nèi)存中緩存buffers會(huì)有差異,現(xiàn)在我們就是要解釋/proc/sys/vm镊逝、drop_caches壮啊, 這個(gè)文件到底是什么?另外可以寫(xiě)入哪些數(shù)值撑蒜,具體適用于什么場(chǎng)景

查看linux內(nèi)核文檔歹啼,可以得到以下信息:


20180319102226957.png

可以看出,/proc/sys是一個(gè)虛擬文件系統(tǒng)座菠,可以通過(guò)對(duì)它的讀寫(xiě)操作做為與kernel實(shí)體間進(jìn)行通信的一種手段狸眼。也就是說(shuō)可以通過(guò)修改/proc中的文件,來(lái)對(duì)當(dāng)前kernel的行為做出調(diào)整浴滴。那么我們可以通過(guò)調(diào)整/proc/sys/vm/drop_caches來(lái)釋放內(nèi)存拓萌。其默認(rèn)數(shù)值為0.

向/proc/sys/vm/drop_caches中寫(xiě)入內(nèi)容,會(huì)清理緩存巡莹。建議先執(zhí)行sync(sync 命令將所有未寫(xiě)的系統(tǒng)緩沖區(qū)寫(xiě)到磁盤(pán)中司志,包含已修改的 i-node甜紫、已延遲的塊 I/O 和讀寫(xiě)映射文件)降宅。執(zhí)行echo 1、2囚霸、3 至 /proc/sys/vm/drop_caches, 達(dá)到不同的清理目的

使用建議

如果因?yàn)槭菓?yīng)用有像內(nèi)存泄露腰根、溢出的問(wèn)題,從swap的使用情況是可以比較快速可以判斷的拓型,但free上面反而比較難查看额嘿。相反瘸恼,如果在這個(gè)時(shí)候,我們告訴用戶(hù)册养,修改系統(tǒng)的一個(gè)值东帅,“可以”釋放內(nèi)存,free就大了球拦。用戶(hù)會(huì)怎么想靠闭?不會(huì)覺(jué)得操作系統(tǒng)“有問(wèn)題”嗎?所以說(shuō)坎炼,既然核心是可以快速清空buffer或cache愧膀,也不難做到(這從上面的操作中可以明顯看到),但核心并沒(méi)有這樣做(默認(rèn)值是0)谣光,我們就不應(yīng)該隨便去改變它檩淋。

??一般情況下,應(yīng)用在系統(tǒng)上穩(wěn)定運(yùn)行了萄金,free值也會(huì)保持在一個(gè)穩(wěn)定值的蟀悦,雖然看上去可能比較小。當(dāng)發(fā)生內(nèi)存不足捡絮、應(yīng)用獲取不到可用內(nèi)存熬芜、OOM錯(cuò)誤等問(wèn)題時(shí),還是更應(yīng)該去分析應(yīng)用方面的原因福稳,如用戶(hù)量太大導(dǎo)致內(nèi)存不足涎拉、發(fā)生應(yīng)用內(nèi)存溢出等情況,否則的圆,清空buffer鼓拧,強(qiáng)制騰出free的大小,可能只是把問(wèn)題給暫時(shí)屏蔽了越妈。

??排除內(nèi)存不足的情況外季俩,除非是在軟件開(kāi)發(fā)階段,需要臨時(shí)清掉buffer梅掠,以判斷應(yīng)用的內(nèi)存使用情況酌住;或應(yīng)用已經(jīng)不再提供支持,即使應(yīng)用對(duì)內(nèi)存的時(shí)候確實(shí)有問(wèn)題阎抒,而且無(wú)法避免的情況下酪我,才考慮定時(shí)清空buffer。(可惜且叁,這樣的應(yīng)用通常都是運(yùn)行在老的操作系統(tǒng)版本上都哭,上面的操作也解決不了)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子欺矫,更是在濱河造成了極大的恐慌纱新,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穆趴,死亡現(xiàn)場(chǎng)離奇詭異脸爱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)未妹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)阅羹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人教寂,你說(shuō)我怎么就攤上這事捏鱼。” “怎么了酪耕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵导梆,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我迂烁,道長(zhǎng)看尼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任盟步,我火速辦了婚禮藏斩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘却盘。我一直安慰自己狰域,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布黄橘。 她就那樣靜靜地躺著兆览,像睡著了一般。 火紅的嫁衣襯著肌膚如雪塞关。 梳的紋絲不亂的頭發(fā)上抬探,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音帆赢,去河邊找鬼小压。 笑死,一個(gè)胖子當(dāng)著我的面吹牛椰于,可吹牛的內(nèi)容都是我干的怠益。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼廉羔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼溉痢!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起憋他,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤孩饼,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后竹挡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體镀娶,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年揪罕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梯码。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡好啰,死狀恐怖轩娶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情框往,我是刑警寧澤鳄抒,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站椰弊,受9級(jí)特大地震影響许溅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜秉版,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一贤重、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧清焕,春花似錦并蝗、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至筛峭,卻和暖如春铐刘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背影晓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工镰吵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挂签。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓疤祭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親饵婆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勺馆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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

  • 參考:凌筱的博客 摘要: cache是高速緩存,用于CPU和內(nèi)存之間的緩沖;buffer是I/O緩存草穆,用于內(nèi)存和硬...
    九七學(xué)姐閱讀 1,609評(píng)論 0 5
  • 在 Linux 系統(tǒng)中悲柱,我們經(jīng)常用 free 命令來(lái)查看系統(tǒng)內(nèi)存的使用狀態(tài)锋喜。在一個(gè) RHEL6 的系統(tǒng)上,free...
    石小_8ce1閱讀 2,082評(píng)論 0 7
  • 姓名: 李小娜 [嵌牛導(dǎo)讀] :當(dāng)你在linux下頻繁存取文件后,物理內(nèi)存會(huì)很快被用光,當(dāng)程序結(jié)束后,內(nèi)存不會(huì)被正...
    n184閱讀 3,856評(píng)論 0 1
  • 1)緩存機(jī)制介紹 在Linux系統(tǒng)中豌鸡,為了提高文件系統(tǒng)性能嘿般,內(nèi)核利用一部分物理內(nèi)存分配出緩沖區(qū),用于緩存系統(tǒng)操作和...
    魔法師_閱讀 2,151評(píng)論 0 1
  • 過(guò)濾器:對(duì)顯示在頁(yè)面上的數(shù)據(jù)進(jìn)行篩選涯冠,過(guò)濾器是一個(gè)通過(guò)輸入數(shù)據(jù)炉奴,能夠及時(shí)對(duì)數(shù)據(jù)進(jìn)行處理并返回一個(gè)數(shù)據(jù)結(jié)果的簡(jiǎn)單函數(shù)...
    久伴我者付寶寶閱讀 196評(píng)論 0 0