服務(wù)器
上節學(xué)習了如何限制容器對內存的使用,本節我們來(lái)看CPU。
默認設置下,所有容器可以平等地使用 host CPU 資源并且沒(méi)有限制。
docker 可以通過(guò)-c
或--cpu-shares
設置容器使用 CPU 的權重。如果不指定,默認值為 1024。
與內存限額不同,通過(guò)-c
設置的 cpu share 并不是 CPU 資源的絕對數量,而是一個(gè)相對的權重值。某個(gè)容器最終能分配到的 CPU 資源取決于它的 cpu share 占所有容器 cpu share 總和的比例。
換句話(huà)說(shuō):通過(guò) cpu share 可以設置容器使用 CPU 的優(yōu)先級。
比如在 host 中啟動(dòng)了兩個(gè)容器:
docker run --name container_A -c 1024 ubuntu docker run --name container_B -c 512 ubuntu
container_A 的 cpu share 1024,是 container_B 的兩倍。當兩個(gè)容器都需要 CPU 資源時(shí),container_A 可以得到的 CPU 是 container_B 的兩倍。
需要特別注意的是,這種按權重分配 CPU 只會(huì )發(fā)生在 CPU 資源緊張的情況下。如果 container_A 處于空閑狀態(tài),這時(shí),為了充分利用 CPU 資源,container_B 也可以分配到全部可用的 CPU。
下面我們繼續用 progrium/stress 做實(shí)驗。
1、啟動(dòng) container_A,cpu share 為 1024:
--cpu
用來(lái)設置工作線(xiàn)程的數量。因為當前 host 只有 1 顆 CPU,所以一個(gè)工作線(xiàn)程就能將 CPU 壓滿(mǎn)。如果 host 有多顆 CPU,則需要相應增加--cpu
的數量。
2、啟動(dòng) container_B,cpu share 為 512:
3、在 host 中執行top
,查看容器對 CPU 的使用情況:
container_A 消耗的 CPU 是 container_B 的兩倍。
4、現在暫停 container_A:
5、top
顯示 container_B 在 container_A 空閑的情況下能夠用滿(mǎn)整顆 CPU:
CPU限額就討論到這里,以上就是本文的全部?jì)热?,希望對大家的學(xué)習有所幫助,也希望大家多多支持特網(wǎng)科技。
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問(wèn)題,請訪(fǎng)問(wèn)特網(wǎng)科技官網(wǎng):wap.friendlycc.com.cn
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站