国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker容器對CPU資源隔離的幾種方式

AlphaWatch / 2221人閱讀

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

了解Docker的同學應該知道,Docker的一個很大的特性就是可以對各種資源做隔離以及限制,這些資源包括CPU、內存、網絡、硬盤,關于內存、網絡、硬盤的資源限制都比較好理解,無非就是分多少用多少,比如給這個容器分1G內存,那就最多能用1G的內存,但是對于CPU的限制就不是那么好理解了,而且配置起來相對來說也更復雜一些。

首先要知道的是Docker的資源隔離是基于Cgroups的,前面的文章里提到的coolshell的科普文章《Docker基礎技術:Linux CGroup》里有做一些基本的介紹和使用方法,想要深入了解的話可以看下redhat上的文檔,因為今天主要是說對CPU資源的隔離,所以可以深入看下關于CPU的這一章。

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

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

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

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

如果這兩種配置方式一起使用呢?我簡單測試了下,應該是取兩個配置的交集,目前還沒做具體的測試,等做了具體的測試再把相關的數據在這里記錄一下,不過配置這么復雜也沒太大必要。

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

對了,我這里特意沒提到CFS這個概念,因為有點復雜,一上來就說這個東西會讓人有點懵,但是理解了上面的那些東西后再看CFS就可以加深對上面那些概念的理解。CFS是Linux內核2.6.23版本開始采用的進程調度器,可以翻譯為完全公平調度器,它的基本原理是這樣的:設定一個周期,目標是讓每個進程在這個周期內至少有機會運行一次,然后根據進程的數量,大家平分這個調度周期內的CPU使用權,如果有配置進程的優先級,在分割調度周期的時候要加權。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26536.html

相關文章

  • 幾種 Docker 監控工具

    摘要:在我們列舉的幾個監控的服務或平臺中,這是唯一一款國內產品。也是一款付費監控解決方案,計劃收費方案是美分小時。同樣也支持監控,還包括對容器級事件的監測停止開始等等和管理容器產生的日志。由于是一個監控方案,相對來說它的安裝和部署都比較簡單。 輕量級虛擬化容器 Docker,自發布以來便廣受業界關注,在開源界和企業界掀起了一陣風。Docker 容器相對于 VM 有以下幾個優勢:啟動速度快;資...

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

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

    劉明 評論0 收藏0
  • Docker安全

    摘要:返回結果發現禁掉能力后,在容器里就無法改變容器的所有者了。操作系統中訪問控制安全的發展早期的操作系統幾乎沒有考慮安全問題,一個用戶可以訪問任何文件或資源,但很快出現了訪問控制機制來增強安全性,其中主要的訪問控制在今天被稱為自主訪問控制。 整理自《Docker進階與實戰》 Docker的安全性 Docker的安全性主要體現在如下幾個方面: Docker容器的安全性這是指容器是否會危害到...

    CoreDump 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<