欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker如何實(shí)現(xiàn)Memory資源限制-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)公司是一家企業(yè)級云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營經(jīng)驗(yàn)。主營GPU顯卡服務(wù)器,站群服務(wù)器,成都移動(dòng)機(jī)房,海外高防服務(wù)器,機(jī)柜大帶寬、租用·托管,動(dòng)態(tài)撥號VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

一:簡介

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ù)對設(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:增加了對每group的監(jiān)測跟蹤的能力,即可以監(jiān)測屬于某個(gè)特定的group的所有線程以及運(yùn)行在特定CPU上的線程。

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

二:內(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資源控制

相對于CPU和內(nèi)存的配額控制,docker對磁盤IO的控制相對不成熟,大多數(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: 針對特定設(shè)備的IO加權(quán)控制。其格式為DEVICE_NAME:WEIGHT

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

網(wǎng)頁題目:Docker如何實(shí)現(xiàn)Memory資源限制-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://chinadenli.net/article18/dpihdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站網(wǎng)站營銷GoogleChatGPTApp設(shè)計(jì)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)