溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker 限制容器對CPU的使用

發布時間:2020-09-15 08:54:35 來源:腳本之家 閱讀:227 作者:CloudMan 欄目:服務器

上節學習了如何限制容器對內存的使用,本節我們來看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:

docker 限制容器對CPU的使用

--cpu用來設置工作線程的數量。因為當前 host 只有 1 顆 CPU,所以一個工作線程就能將 CPU 壓滿。如果 host 有多顆 CPU,則需要相應增加--cpu的數量。

2、啟動 container_B,cpu share 為 512:

docker 限制容器對CPU的使用

3、在 host 中執行top,查看容器對 CPU 的使用情況:

docker 限制容器對CPU的使用

container_A 消耗的 CPU 是 container_B 的兩倍。

4、現在暫停 container_A:

docker 限制容器對CPU的使用

5、top顯示 container_B 在 container_A 空閑的情況下能夠用滿整顆 CPU:

docker 限制容器對CPU的使用

CPU限額就討論到這里,以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女