您好,登錄后才能下訂單哦!
這篇文章主要介紹“docker限制容器怎么使用CPU”,在日常操作中,相信很多人在docker限制容器怎么使用CPU問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”docker限制容器怎么使用CPU”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
默認設置下,所有容器可以平等地使用 host cpu 資源并且沒有限制。
docker 可以通過-c
或--cpu-shares
設置容器使用 cpu 的權重。如果不指定,默認值為 1024。
與內存限額不同,通過-c
設置的 cpu share 并不是 cpu 資源的絕對數量,而是一個相對的權重值。某個容器最終能分配到的 cpu 資源取決于它的 cpu share 占所有容器 cpu share 總和的比例。
換句話說:通過 cpu share 可以設置容器使用 cpu 的優先級。
比如在 host 中啟動了兩個容器:
docker run --name "container_a" -c 1024 ubuntu docker run --name "container_b" -c 512 ubuntu
container_a 的 cpu share 1024,是 container_b 的兩倍。當兩個容器都需要 cpu 資源時,container_a 可以得到的 cpu 是 container_b 的兩倍。
需要特別注意的是,這種按權重分配 cpu 只會發生在 cpu 資源緊張的情況下。如果 container_a 處于空閑狀態,這時,為了充分利用 cpu 資源,container_b 也可以分配到全部可用的 cpu。
下面我們繼續用 progrium/stress 做實驗。
1、啟動 container_a,cpu share 為 1024:
--cpu
用來設置工作線程的數量。因為當前 host 只有 1 顆 cpu,所以一個工作線程就能將 cpu 壓滿。如果 host 有多顆 cpu,則需要相應增加--cpu
的數量。
2、啟動 container_b,cpu share 為 512:
3、在 host 中執行top
,查看容器對 cpu 的使用情況:
container_a 消耗的 cpu 是 container_b 的兩倍。
4、現在暫停 container_a:
5、top
顯示 container_b 在 container_a 空閑的情況下能夠用滿整顆 cpu:
到此,關于“docker限制容器怎么使用CPU”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。