云計(jì)算核心技術(shù)Docker教程:Docker CPU管理

發(fā)布時(shí)間:2024-03-15
docker在默認(rèn)情況下,容器使用的資源是不受限制的。也就是可以使用主機(jī)內(nèi)核調(diào)度器所允許的最大資源。如果不對(duì)容器可以使用的 cpu 資源進(jìn)行限制,一旦發(fā)生容器內(nèi)程序異常使用 cpu 的情況,很可能把整個(gè)主機(jī)的 cpu 資源耗盡,從而導(dǎo)致更大的災(zāi)難。
本文將介紹如何設(shè)置容器可以使用的 cpu 資源。
docker 的資源限制和隔離完全基于 linux cgroups。對(duì) cpu 資源的限制方式也和 cgroups 相同。docker 提供的 cpu 資源限制選項(xiàng)可以在多核系統(tǒng)上限制容器能利用哪些 vcpu。而對(duì)容器最多能使用的 cpu 時(shí)間有兩種限制方式:一是有多個(gè) cpu 密集型的容器競(jìng)爭(zhēng) cpu 時(shí),設(shè)置各個(gè)容器能使用的 cpu 時(shí)間相對(duì)比例。二是以絕對(duì)的方式設(shè)置容器在每個(gè)調(diào)度周期內(nèi)最多能使用的 cpu 時(shí)間。
docker run命令和 cpu 限制相關(guān)的所有選項(xiàng)如下:
–cpuset-cpus= 允許使用的 cpu 集,值可以為 0-3,0,1
-c,–cpu-shares=0 cpu 共享權(quán)值(相對(duì)權(quán)重)
cpu-period=0 限制 cpu cfs 的周期,范圍從 100ms~1s,即[1000, 1000000]
–cpu-quota=0 限制 cpu cfs 配額,必須不小于1ms,即 >= 1000
–cpuset-mems= 允許在上執(zhí)行的內(nèi)存節(jié)點(diǎn)(mems),只對(duì) numa 系統(tǒng)有效
其中–cpuset-cpus用于設(shè)置容器可以使用的 vcpu 核。-c,–cpu-shares用于設(shè)置多個(gè)容器競(jìng)爭(zhēng) cpu 時(shí),各個(gè)容器相對(duì)能分配到的 cpu 時(shí)間比例。
docker提供了cpu-period、cpu-quota兩個(gè)參數(shù)控制容器可以分配到的cpu時(shí)鐘周期。cpu-period是用來指定容器對(duì)cpu的使用要在多長(zhǎng)時(shí)間內(nèi)做一次重新分配,而cpu-quota是用來指定在這個(gè)周期內(nèi),最多可以有多少時(shí)間用來跑這個(gè)容器。跟cpu-shares不同的是這種配置是指定一個(gè)絕對(duì)值,而且沒有彈性在里面,容器對(duì)cpu資源的使用絕對(duì)不會(huì)超過配置的值。
cpu-period和cpu-quota的單位為微秒(μs)。cpu-period的最小值為1000微秒,最大值為1秒(10^6 μs),默認(rèn)值為0.1秒(100000 μs)。cpu-quota的值默認(rèn)為-1,表示不做控制。
例如設(shè)置容器可以在哪些 cpu 核上運(yùn)行:
docker run -it –cpuset-cpus=0,6 –name centos centos /bin/bash
設(shè)置容器中的進(jìn)程可以在 cpu 0 和 cpu 6上執(zhí)行。
上一個(gè):蘋果電腦裝虛擬機(jī)對(duì)電腦有損害嗎(macbookair安裝虛擬機(jī)會(huì)卡嗎)
下一個(gè):熟茶上那個(gè)美麗的“金圈”是什么?

詐騙罪量刑標(biāo)準(zhǔn)怎么規(guī)定的
水冷*柴油發(fā)電機(jī)使用注意
TQK4-100A觸頭的使用說明
揭秘抖音搜索算法工作原理和推薦算法
優(yōu)秀總監(jiān)理工程師能力煉成秘籍!
戴爾電腦找不到硬盤什么原因
電子式粉質(zhì)儀性能特點(diǎn)
自動(dòng)化系統(tǒng)抗干擾措施
LM2901PWR電壓比較器
iphone4寫號(hào)機(jī)怎么開熱點(diǎn),蘋果4s怎么開wifi熱點(diǎn)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos