主頁 > 知識庫 > 容器內(nèi)存占用之系統(tǒng)cache介紹

容器內(nèi)存占用之系統(tǒng)cache介紹

熱門標(biāo)簽:電話外呼服務(wù) 網(wǎng)站建設(shè) 太平洋壽險電話營銷 話術(shù) Win7旗艦版 電話銷售團隊 AI人工智能 電銷行業(yè)

緣起:

監(jiān)控(docker stats)顯示容器內(nèi)存被用完了,進入容器瞅了瞅,沒有發(fā)現(xiàn)使用內(nèi)存多的進程,使用awk等工具把容器所有進程使用的內(nèi)存加起來看看,距離用完還遠了去了,何故?

分析:

該不會docker stats計算錯誤?

進入/sys/fs/cgroup/memory/docker/xxxxx/ 查看memory.usage ,確認計算沒有錯誤

我們知道,系統(tǒng)內(nèi)存會有一部分被buffer、cache之類占用,linux也會把這部分內(nèi)存算到已使用,對于容器來講,也應(yīng)該存在此“問題”,而且非常有可能linux會把某容器引發(fā)的cache占用算到容器占用的內(nèi)存上;驗證很簡單,進容器dd一個大文件就知道了:

dd 大文件后,docker stat顯示已用內(nèi)存變多

宿主機上: echo 3 > /proc/sys/vm/drop_caches 后,docker stat顯示已用內(nèi)存變少

至此,原因查明

問題:

對于宿主機來講,計算內(nèi)存占用時,可以拿已用內(nèi)存減去cache/buffer ,那么對于容器來講,如果減去容器部分的cache/buffer 呢?如果不減去,也會造成誤報警

測試發(fā)現(xiàn): dd 產(chǎn)生的文件cache占用的內(nèi)存會計算到 inactive_file 的頭上

標(biāo)簽:南昌 漯河 普洱 宿州 寧夏 延安 云南 儋州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《容器內(nèi)存占用之系統(tǒng)cache介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266