成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker容器對(duì)CPU資源隔離的幾種方式

AlphaWatch / 2222人閱讀

摘要:還有一點(diǎn)要注意的是這種配置是有彈性的,如果容器一直閑著,那容器是可以使用空閑資源的。比如說容器配置的,那么容器就可以最多使用個(gè)資源,如果配置的,那就可以使用個(gè)資源。

了解Docker的同學(xué)應(yīng)該知道,Docker的一個(gè)很大的特性就是可以對(duì)各種資源做隔離以及限制,這些資源包括CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤,關(guān)于內(nèi)存、網(wǎng)絡(luò)、硬盤的資源限制都比較好理解,無非就是分多少用多少,比如給這個(gè)容器分1G內(nèi)存,那就最多能用1G的內(nèi)存,但是對(duì)于CPU的限制就不是那么好理解了,而且配置起來相對(duì)來說也更復(fù)雜一些。

首先要知道的是Docker的資源隔離是基于Cgroups的,前面的文章里提到的coolshell的科普文章《Docker基礎(chǔ)技術(shù):Linux CGroup》里有做一些基本的介紹和使用方法,想要深入了解的話可以看下redhat上的文檔,因?yàn)榻裉熘饕钦f對(duì)CPU資源的隔離,所以可以深入看下關(guān)于CPU的這一章。

從Docker的官方文檔里可以看到,在通過Docker run這條命令啟動(dòng)一個(gè)容器時(shí)可以通過--cpu-shares --cpu-period以及--cpu-quota這三個(gè)參數(shù)來控制容器對(duì)CPU的使用,但是并沒有做太詳細(xì)的介紹以及示例,所以理解起來稍微有些困難。比如--cpu-shares和其他兩個(gè)參數(shù)一起用會(huì)有什么效果?

我們一個(gè)個(gè)來看,先看--cpu-shares,默認(rèn)情況下所有容器的share(簡(jiǎn)單理解成是權(quán)重吧)是相同的,也就是所有容器有相同的權(quán)重,在所有容器一起競(jìng)爭(zhēng)資源時(shí),最終得到的資源是相同的。這個(gè)share是一個(gè)相對(duì)的值,那么這個(gè)值的意義就不能單純的通過一個(gè)容器的share值來看,而是多個(gè)在一起對(duì)比,比如A和B兩個(gè)容器,A配置的是1024,B配置的是512,那么A最大可以使用的CPU資源是B的兩倍。還有一點(diǎn)要注意的是這種配置是有彈性的,如果A容器一直閑著,那B容器是可以使用空閑資源的。

再來看--cpu-period和--cpu-quota,為啥把這兩個(gè)參數(shù)放一起呢?因?yàn)檫@兩個(gè)參數(shù)是相互配合的,在redhat的那篇文檔里講的很清楚,--cpu-period和--cpu-quota的這種配置叫Ceiling Enforcement Tunable Parameters,--cpu-shares的這種配置叫Relative Shares Tunable Parameters。--cpu-period是用來指定容器對(duì)CPU的使用要在多長(zhǎng)時(shí)間內(nèi)做一次重新分配,而--cpu-quota是用來指定在這個(gè)周期內(nèi),最多可以有多少時(shí)間用來跑這個(gè)容器。跟--cpu-shares不同的是這種配置是指定一個(gè)絕對(duì)值,而且沒有彈性在里面,容器對(duì)CPU資源的使用絕對(duì)不會(huì)超過配置的值。

比如說A容器配置的--cpu-period=100000 --cpu-quota=50000,那么A容器就可以最多使用50%個(gè)CPU資源,如果配置的--cpu-quota=200000,那就可以使用200%個(gè)CPU資源。

如果這兩種配置方式一起使用呢?我簡(jiǎn)單測(cè)試了下,應(yīng)該是取兩個(gè)配置的交集,目前還沒做具體的測(cè)試,等做了具體的測(cè)試再把相關(guān)的數(shù)據(jù)在這里記錄一下,不過配置這么復(fù)雜也沒太大必要。

那么有什么樣的應(yīng)用場(chǎng)景呢?簡(jiǎn)單舉個(gè)例子,加入對(duì)外提供A和B兩個(gè)服務(wù),但是A的優(yōu)先級(jí)比B要高,假如只用--cpu-shares來配置,從實(shí)際經(jīng)驗(yàn)來看,B服務(wù)占用資源太高時(shí)是會(huì)對(duì)A有一定的影響的,但是具體原因我還沒去深入了解,但是如果通過--cpu-period和--cpu-quota來配置,就能起到絕對(duì)的控制,做到無論B怎么樣,都不會(huì)影響到A。

對(duì)了,我這里特意沒提到CFS這個(gè)概念,因?yàn)橛悬c(diǎn)復(fù)雜,一上來就說這個(gè)東西會(huì)讓人有點(diǎn)懵,但是理解了上面的那些東西后再看CFS就可以加深對(duì)上面那些概念的理解。CFS是Linux內(nèi)核2.6.23版本開始采用的進(jìn)程調(diào)度器,可以翻譯為完全公平調(diào)度器,它的基本原理是這樣的:設(shè)定一個(gè)周期,目標(biāo)是讓每個(gè)進(jìn)程在這個(gè)周期內(nèi)至少有機(jī)會(huì)運(yùn)行一次,然后根據(jù)進(jìn)程的數(shù)量,大家平分這個(gè)調(diào)度周期內(nèi)的CPU使用權(quán),如果有配置進(jìn)程的優(yōu)先級(jí),在分割調(diào)度周期的時(shí)候要加權(quán)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26536.html

相關(guān)文章

  • 幾種 Docker 監(jiān)控工具對(duì)

    摘要:在我們列舉的幾個(gè)監(jiān)控的服務(wù)或平臺(tái)中,這是唯一一款國(guó)內(nèi)產(chǎn)品。也是一款付費(fèi)監(jiān)控解決方案,計(jì)劃收費(fèi)方案是美分小時(shí)。同樣也支持監(jiān)控,還包括對(duì)容器級(jí)事件的監(jiān)測(cè)停止開始等等和管理容器產(chǎn)生的日志。由于是一個(gè)監(jiān)控方案,相對(duì)來說它的安裝和部署都比較簡(jiǎn)單。 輕量級(jí)虛擬化容器 Docker,自發(fā)布以來便廣受業(yè)界關(guān)注,在開源界和企業(yè)界掀起了一陣風(fēng)。Docker 容器相對(duì)于 VM 有以下幾個(gè)優(yōu)勢(shì):?jiǎn)?dòng)速度快;資...

    張春雷 評(píng)論0 收藏0
  • 白話 Linux 容器資源隔離限制原理

    摘要:所以,我們希望對(duì)進(jìn)程進(jìn)行資源利用上的限制或控制。它主要提供了如下功能限制資源使用,比如內(nèi)存使用上限以及文件系統(tǒng)的緩存限制。的作用資源限制可以對(duì)任務(wù)使用的資源內(nèi)存,,磁盤等資源總額進(jìn)行限制。通過實(shí)現(xiàn)了資源隔離,通過實(shí)現(xiàn)了資源限制。 作者:燒雞太子爺來源:恒生LIGHT云社區(qū)背景最近在給組內(nèi)新人講解一些docker...

    劉明 評(píng)論0 收藏0
  • Docker安全

    摘要:返回結(jié)果發(fā)現(xiàn)禁掉能力后,在容器里就無法改變?nèi)萜鞯乃姓吡?。操作系統(tǒng)中訪問控制安全的發(fā)展早期的操作系統(tǒng)幾乎沒有考慮安全問題,一個(gè)用戶可以訪問任何文件或資源,但很快出現(xiàn)了訪問控制機(jī)制來增強(qiáng)安全性,其中主要的訪問控制在今天被稱為自主訪問控制。 整理自《Docker進(jìn)階與實(shí)戰(zhàn)》 Docker的安全性 Docker的安全性主要體現(xiàn)在如下幾個(gè)方面: Docker容器的安全性這是指容器是否會(huì)危害到...

    CoreDump 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<