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

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

Docker如何實(shí)現(xiàn)Memory資源限制

這篇文章主要為大家展示了“Docker如何實(shí)現(xiàn)Memory資源限制”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Docker如何實(shí)現(xiàn)Memory資源限制”這篇文章吧。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括石林網(wǎng)站建設(shè)、石林網(wǎng)站制作、石林網(wǎng)頁制作以及石林網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,石林網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到石林省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

一:簡介

docker通過cgroup來控制容器使用的資源配額,包括CPU、內(nèi)存、磁盤三大方面,基本覆蓋了常見的資源配額和使用量控制。

cgroup是Control Groups的縮寫,是Linux 內(nèi)核提供的一種可以限制、記錄、隔離進(jìn)程組所使用的物理資源(如 cpu、memory、磁盤IO等等) 的機(jī)制,被LXC、docker等很多項(xiàng)目用于實(shí)現(xiàn)進(jìn)程資源控制。cgroup將任意進(jìn)程進(jìn)行分組化管理的 Linux 內(nèi)核功能。cgroup本身是提供將進(jìn)程進(jìn)行分組化管理的功能和接口的基礎(chǔ)結(jié)構(gòu),I/O 或內(nèi)存的分配控制等具體的資源管理功能是通過這個(gè)功能來實(shí)現(xiàn)的。這些具體的資源管理功能稱為cgroup子系統(tǒng),有以下幾大子系統(tǒng)實(shí)現(xiàn):

  1. blkio:設(shè)置限制每個(gè)塊設(shè)備的輸入輸出控制。例如:磁盤,光盤以及usb等等。

  2. cpu:使用調(diào)度程序?yàn)閏group任務(wù)提供cpu的訪問。

  3. cpuacct:產(chǎn)生cgroup任務(wù)的cpu資源報(bào)告。

  4. cpuset:如果是多核心的cpu,這個(gè)子系統(tǒng)會(huì)為cgroup任務(wù)分配單獨(dú)的cpu和內(nèi)存。

  5. devices:允許或拒絕cgroup任務(wù)對(duì)設(shè)備的訪問。

  6. freezer:暫停和恢復(fù)cgroup任務(wù)。

  7. memory:設(shè)置每個(gè)cgroup的內(nèi)存限制以及產(chǎn)生內(nèi)存資源報(bào)告。

  8. net_cls:標(biāo)記每個(gè)網(wǎng)絡(luò)包以供cgroup方便使用。

  9. ns:命名空間子系統(tǒng)。

  10. perf_event:增加了對(duì)每group的監(jiān)測跟蹤的能力,即可以監(jiān)測屬于某個(gè)特定的group的所有線程以及運(yùn)行在特定CPU上的線程。

目前docker只是用了其中一部分子系統(tǒng),實(shí)現(xiàn)對(duì)資源配額和使用的控制。

二:內(nèi)存資源控制

和CPU控制一樣,docker也提供了若干參數(shù)來控制容器的內(nèi)存使用配額,可以控制容器的swap大小、可用內(nèi)存大小等各種內(nèi)存方面的控制。主要有以下參數(shù):

1.--memory: 設(shè)置容器使用的最大內(nèi)存上限。默認(rèn)單位為byte,可以使用K、G、M等帶單位的字符串。

2.-- memory-reservation: 啟用彈性的內(nèi)存共享,當(dāng)宿主機(jī)資源充足時(shí),允許容器盡量多地使用內(nèi)存,當(dāng)檢測到內(nèi)存競爭或者低內(nèi)存時(shí),強(qiáng)制將容器的內(nèi)存降低到memory-reservation所指定的內(nèi)存大小。按照官方說法,不設(shè)置此選項(xiàng)時(shí),有可能出現(xiàn)某些容器長時(shí)間占用大量內(nèi)存,導(dǎo)致性能上的損失。

3.--memory-swap: 等于內(nèi)存和swap分區(qū)大小的總和,設(shè)置為-1時(shí),表示swap分區(qū)的大小是無限的。默認(rèn)單位為byte,可以使用K、G、M等帶單位的字符串。如果–memory-swap的設(shè)置值小于–memory的值,則使用默認(rèn)值,為–memory-swap值的兩倍。

4. --memory-swappiness: 控制進(jìn)程將物理內(nèi)存交換到swap分區(qū)的傾向,默認(rèn)系數(shù)為60。系數(shù)越小,就越傾向于使用物理內(nèi)存。值范圍為0-100。當(dāng)值為100時(shí),表示盡量使用swap分區(qū);當(dāng)值為0時(shí),表示禁用容器 swap 功能(這點(diǎn)不同于宿主機(jī),宿主機(jī) swappiness 設(shè)置為 0 也不保證 swap 不會(huì)被使用)。

默認(rèn)情況下,容器可以使用主機(jī)上的所有空閑內(nèi)存。

三:舉例

docker run -ti --rm --name mytest --memory 128m  centos:latest /bin/bash

Docker stats <容器ID>

Docker如何實(shí)現(xiàn)Memory資源限制

四:IO資源控制

相對(duì)于CPU和內(nèi)存的配額控制,docker對(duì)磁盤IO的控制相對(duì)不成熟,大多數(shù)都必須在有宿主機(jī)設(shè)備的情況下使用。主要包括以下參數(shù):

  • –device-read-bps:限制此設(shè)備上的讀速度(bytes per     second),單位可以是kb、mb或者gb。

  • –device-read-iops:通過每秒讀IO次數(shù)來限制指定設(shè)備的讀速度。

  • –device-write-bps :限制此設(shè)備上的寫速度(bytes per     second),單位可以是kb、mb或者gb。

  • –device-write-iops:通過每秒寫IO次數(shù)來限制指定設(shè)備的寫速度。

  • –blkio-weight:容器默認(rèn)磁盤IO的加權(quán)值,有效值范圍為10-100。

  • –blkio-weight-device: 針對(duì)特定設(shè)備的IO加權(quán)控制。其格式為DEVICE_NAME:WEIGHT

以上是“Docker如何實(shí)現(xiàn)Memory資源限制”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章名稱:Docker如何實(shí)現(xiàn)Memory資源限制
網(wǎng)頁地址:http://weahome.cn/article/ghpcph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部