真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker如何限制容器可用的內(nèi)存-創(chuàng)新互聯(lián)

默認(rèn)情況下容器使用的資源是不受限制的。也就是可以使用主機內(nèi)核調(diào)度器所允許的大資源。但是在容器的使用過程中,經(jīng)常需要對容器可以使用的主機資源進行限制,本文介紹如何限制容器可以使用的主機內(nèi)存。

我們擁有十多年網(wǎng)頁設(shè)計和網(wǎng)站建設(shè)經(jīng)驗,從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、手機網(wǎng)站制作設(shè)計、H5建站、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計或者設(shè)計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計服務(wù)并滿足您的需求。

為什么要限制容器對內(nèi)存的使用?


限制容器不能過多的使用主機的內(nèi)存是非常重要的。對于 linux 主機來說,一旦內(nèi)核檢測到?jīng)]有足夠的內(nèi)存可以分配,就會扔出 OOME(Out Of Memmory Exception),并開始殺死一些進程用于釋放內(nèi)存空間。糟糕的是任何進程都可能成為內(nèi)核獵殺的對象,包括 docker daemon 和其它一些重要的程序。更危險的是如果某個支持系統(tǒng)運行的重要進程被干掉了,整個系統(tǒng)也就宕掉了!這里我們考慮一個比較常見的場景,大量的容器把主機的內(nèi)存消耗殆盡,OOME 被觸發(fā)后系統(tǒng)內(nèi)核立即開始殺進程釋放內(nèi)存。如果內(nèi)核殺死的第一個進程就是 docker daemon 會怎么樣?結(jié)果是所有的容器都不工作了,這是不能接受的!


針對這個問題,docker 嘗試通過調(diào)整 docker daemon 的 OOM 優(yōu)先級來進行緩解。內(nèi)核在選擇要殺死的進程時會對所有的進程打分,直接殺死得分最高的進程,接著是下一個。當(dāng) docker daemon 的 OOM 優(yōu)先級被降低后(注意容器進程的 OOM 優(yōu)先級并沒有被調(diào)整),docker daemon 進程的得分不僅會低于容器進程的得分,還會低于其它一些進程的得分。這樣 docker daemon 進程就安全多了。


我們可以通過下面的腳本直觀的看一下當(dāng)前系統(tǒng)中所有進程的得分情況:

#!/bin/bash
for proc in $(find /proc -maxdepth 1 -regex '/proc/[0-9]+'); do
 printf "%2d %5d %s\n" \
  "$(cat $proc/oom_score)" \
  "$(basename $proc)" \
  "$(cat $proc/cmdline | tr '\0' ' ' | head -c 50)"
done 2>/dev/null | sort -nr | head -n 40

本文名稱:Docker如何限制容器可用的內(nèi)存-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/dpdcgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部