/proc/sys/vm/drop_caches 后,docker stat顯示已用內(nèi)存變少測試發(fā)現(xiàn): dd 產(chǎn)生的文件cache占用的內(nèi)存會計算到 inactive_file 的頭上...">
瀏覽量:64次
緣起:
監(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 的頭上
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776