gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

深入理解Docker的硬件資源控制與驗(yàn)證

前言

?前面兩篇文章主要介紹了有關(guān)docker的基礎(chǔ)概念、安裝、以及對鏡像容器的相關(guān)操作。重點(diǎn)在于命令的含義以及常用的一些命令的可選項(xiàng)的含義的理解,本文在此基礎(chǔ)上來聊一聊基于硬件層面是上有關(guān)docker的資源(物理)控制。

  • 揭開Docker的面紗 – 基礎(chǔ)理論梳理和安裝流程演示  http://www.gmnon.cn/Linux/2020-04/163003.htm
  • Docker基礎(chǔ)命令詳解 – 鏡像及容器操作  http://www.gmnon.cn/Linux/2020-04/163005.htm

一、docker管理資源機(jī)制——Control group

? Control group 是Linux內(nèi)核提供的一種限制所使用物理資源的機(jī)制,這些資源主要是CPU、內(nèi)存、blkio,而Control group簡稱為Cgroup,我們可以在下面的目錄中查看:

[root@docker cgroup]# ls  blkio  cpuacct      cpuset   freezer  memory   net_cls,net_prio  perf_event  systemd  cpu    cpu,cpuacct  devices  hugetlb  net_cls  net_prio          pids  

? 在該目錄下我們可以看到有blkio、cpuset、memory、cpu等與物理硬件資源對應(yīng)的文件以及目錄。下面就基于上述的三個方面來聊一聊docker是如何使用該機(jī)制對這些資源進(jìn)行管理的。

二、對CPU的控制

? 對CPU的控制有下面幾種方式:

  • 限制CPU的使用率;
  • 多任務(wù)按比例分配CPU;
  • 限制CPU內(nèi)核(核心數(shù))使用;

2.1基于使用率限制CPU

我們可以在文件中查看默認(rèn)的限制設(shè)置,我們先運(yùn)行一個容器(兩種方式,我們使用run的命令來快速運(yùn)行一個容器):

#檢查本地是否有鏡像或容器存在  [root@docker ~]# docker images  REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE  [root@docker ~]# docker ps -a  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES    #運(yùn)行一個容器  [root@docker ~]# docker run -itd --name test CentOS:7 /bin/bash  Unable to find image 'centos:7' locally  7: Pulling from library/centos  ab5ef0e58194: Pull complete   Digest: sha256:4a701376d03f6b39b8c2a8f4a8e499441b0d567f9ab9d58e4991de4472fb813c  Status: Downloaded newer image for centos:7  ff84f35a0d6fdc77d292f7168546848385ab382f3dc1486077933e944c4424b9  [root@docker ~]# docker ps -a  CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES  ff84f35a0d6f        centos:7            "/bin/bash"         About a minute ago   Up About a minute                       test  

我們進(jìn)入docker目錄下的容器編號目錄中,查看cpu.cfs_quota_us文件,其中的內(nèi)容默認(rèn)為-1(我們可以對此更改)

[root@docker ~]# cd /sys/fs/cgroup/cpu/docker/ff84f35a0d6fdc77d292f7168546848385ab382f3dc1486077933e944c4424b9/  [root@docker ff84f35a0d6fdc77d292f7168546848385ab382f3dc1486077933e944c4424b9]# ls  cgroup.clone_children  cpuacct.stat          cpu.cfs_period_us  cpu.rt_runtime_us  notify_on_release  cgroup.event_control   cpuacct.usage         cpu.cfs_quota_us   cpu.shares         tasks  cgroup.procs           cpuacct.usage_percpu  cpu.rt_period_us   cpu.stat  [root@docker ff84f35a0d6fdc77d292f7168546848385ab382f3dc1486077933e944c4424b9]# cat cpu.cfs_quota_us  -1 

? 果然,默認(rèn)的配額值為-1,這就表示默認(rèn)情況下是不對CPU資源進(jìn)行控制的,顯然這樣在使用容器的過程中非常容易出現(xiàn)問題,例如一臺真實(shí)服務(wù)器運(yùn)行著各種各樣的數(shù)量非常多的容器,而其中一臺容器占據(jù)了接近90%的CPU使用率,那么剩下來的如此多的容器只能在剩余的10%中獲取使用,這很容易引發(fā)業(yè)務(wù)故障,因此我們需要對CPU包括隨后的內(nèi)存及文件IO流進(jìn)行優(yōu)化處理的配置。

? 首先,本小節(jié)是對CPU的使用率進(jìn)行的控制,那么下面就來看看怎么配置的吧。

我們可以直接進(jìn)入這個文件進(jìn)行設(shè)置,那么怎么設(shè)置呢?

這就需要說明一下了,CPU的百分比是以1000位單位的,因此總額為100000,即10萬,那么我們寫入20000,則使用率為20%。除了直接改(echo也行)也可以在命令行中進(jìn)行設(shè)置:

[root@docker ~]# docker run -itd --name test1 --cpu-quota 20000 centos:7 /bin/bash  31f9d00fca956d315736dad8a1f2e4c01128d44370af4b37c10298fd2c6a3ee6  [root@docker ~]# docker ps -a  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES  31f9d00fca95        centos:7            "/bin/bash"         14 seconds ago      Up 12 seconds                           test1  ff84f35a0d6f        centos:7            "/bin/bash"         14 minutes ago      Up 14 minutes                           test  

那么我們怎么驗(yàn)證或者說測試這個使用率占比最高是在20%呢?

我們可以進(jìn)入這個容器中執(zhí)行操作,使得CPU滿載,另外開一個terminal使用top命令查看CPU使用情況即可。

#下載bc工具,一種任意精度的計算器語言,可以理解為用于精確計算的  [root@31f9d00fca95 /]# yum install bc -y  #我們使用該工具來計算圓周率  [root@31f9d00fca95 /]# echo "scale=5000; 4*a(1)" | bc -l -q  #說明:其中a是bc的一個內(nèi)置函數(shù),代表arctan(三角函數(shù)哈~),由于tan(pi/4)=1,所以4*arctan(1)=pi 【pi就是π】,5000表示計算精確到小數(shù)點(diǎn)后面的5000位,-l表示使用標(biāo)準(zhǔn)數(shù)學(xué)庫,-q表示 不在界面中輸出。 

? 為了演示整個效果我在另外一個終端使用top命令查看,可以發(fā)現(xiàn)整個CPU使用率在20%左右,會有所上浮但是不會過分離譜,計算完成后將會釋放資源的。截取兩張圖作為驗(yàn)證結(jié)果:

深入理解Docker的硬件資源控制與驗(yàn)證

深入理解Docker的硬件資源控制與驗(yàn)證

2.2基于比例分配CPU

? 對于上面基于使用率分配給容器的方式可能只適合于少量的容器情況下,容器數(shù)量多的時候并不好計算以及設(shè)置使用率,這時我們可以通過按比例分配的方式(通過–cpu-share選項(xiàng)配置),這樣既方便又靈活。具體看下面的實(shí)例演示:

#創(chuàng)建兩個容器,并且使得兩個容器的CPU比例分配為1:2  [root@docker ~]# docker run -itd --name c1 --cpu-shares 512 centos:7 /bin/bash  6ec8bb5d2fde0cba2ec436484ec037f694c3eaff744a90fd08173205c8121956  [root@docker ~]# docker run -itd --name c2 --cpu-shares 1024 centos:7 /bin/bash  03a587d09afb591bfaaff79a7c998872b85f4375f9ebd48e9aee9c220ed53f98  #查看容器  [root@docker ~]# docker ps -a  CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES  03a587d09afb        centos:7            "/bin/bash"         About a minute ago   Up About a minute                       c2  6ec8bb5d2fde        centos:7            "/bin/bash"         2 minutes ago        Up 2 minutes                            c1  31f9d00fca95        centos:7            "/bin/bash"         29 minutes ago       Up 29 minutes                           test1  ff84f35a0d6f        centos:7            "/bin/bash"         44 minutes ago       Up 44 minutes    

那么怎么進(jìn)行測試驗(yàn)證呢?

我們開兩個終端用于進(jìn)入容器測試,另外一個終端使用docker stats命令查看驗(yàn)證。

#進(jìn)入兩個容器都進(jìn)行下面的操作,我們以其中一個進(jìn)行演示  [root@docker ~]# docker exec -it 03a587d09afb /bin/bash  [root@03a587d09afb /]# yum install -y epel-release    [root@03a587d09afb  /]# yum install stress -y  #stress是壓測工具,依賴于上面的epel-release

開始在兩個終端上使用stress命令壓測

[root@6ec8bb5d2fde /]# stress -c 4  stress: info: [98] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd  ^C#驗(yàn)證到結(jié)果后就退出吧,因?yàn)镃PU很累的    [root@03a587d09afb /]# stress -c 4  stress: info: [97] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd  ^C#驗(yàn)證到結(jié)果后就退出吧,因?yàn)镃PU很累的  

結(jié)果:

深入理解Docker的硬件資源控制與驗(yàn)證

當(dāng)然這個是會動態(tài)變化的,不一定完全是1:2的關(guān)系但是一定是接近這個比例的哈~~

2.3基于CPU內(nèi)核使用限制

? 在docker中可以使用–cpuset-cpus選項(xiàng)來使某些程序獨(dú)享CPU的內(nèi)核,以便提高其處理速度。如果我們的CPU核心數(shù)為4那么對應(yīng)的編號為0,1,2,3,可以通過top命令來查看,按下數(shù)字1后就可以查看CPU編號以及對應(yīng)信息了。

深入理解Docker的硬件資源控制與驗(yàn)證

具體的控制設(shè)置如下:

[root@docker ~]# docker run -itd --name test2 --cpuset-cpus 1,3 centos:7 /bin/bash  116606ef1e11b0afa09da67b2782c1cc0d042eb026cbfe113d7dac11ae818dcc  #即基于cpuset-cpus進(jìn)行設(shè)置

使用第二種方式的測試方法,基于top命令查看驗(yàn)證,結(jié)果如下圖所示:

深入理解Docker的硬件資源控制與驗(yàn)證

? 當(dāng)然,基于CPU的限制控制也可以三種方式結(jié)合使用,本文主要是為了講解這三種方式。

三、對內(nèi)存的控制

? 內(nèi)存使用相對于CPU而言比較簡單了,通過-m參數(shù)進(jìn)行設(shè)置。

實(shí)例演示:

[root@docker ~]# docker run -itd --name demo -m 512m centos:7 /bin/bash  c69071b6dbc302c5f4d34782a0b7eb663e40cd5f847f4aac45a375c3d4e817d9

在另一個終端上進(jìn)行查看:docker stats

結(jié)果如下圖:

深入理解Docker的硬件資源控制與驗(yàn)證

限制的大小為512m,就表示只能使用這么大的內(nèi)存

四、對blkio的控制

? 對應(yīng)blkio的設(shè)置,主要是對于在一臺服務(wù)器上進(jìn)行容器的混合部署的場景,就會出現(xiàn)同時有多個程序?qū)懭氪疟P數(shù)據(jù)的情況,此時可以通過–device-write-iops選項(xiàng)來限制寫入的iops,相應(yīng)的有–device-read-bps選項(xiàng)可以限制讀取的iops。但是這種方法只能針對blkio限制的是設(shè)備,而不是分區(qū)。羅列一下吧:

–device-read-bps:限制讀某個設(shè)備的bps(數(shù)據(jù)量)使用多

–device-write-iops:限制寫入某個設(shè)備的iops(次數(shù))

實(shí)例演示:

[root@docker ~]# docker run -itd --name test4 --device-write-bps /dev/sda:30m centos:7 /bin/bash  16004244b632b8ada5faefdca57e321664e89fe9472dd6195f8eb7f07d7602ee  

表示對sda磁盤設(shè)備限制寫入的帶寬為30m,需要進(jìn)行高并發(fā)的操作,可以進(jìn)行大量的寫入操作即可,這里就不測試驗(yàn)證的演示了

五、總結(jié)

? 本文主要講述的是docker的資源控制的設(shè)置(基于CPU、內(nèi)存、IO)以及對應(yīng)的測試驗(yàn)證方法。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
2022亚洲天堂| 91aaa精品| 欧美精品在欧美一区二区| 999精品网站| 亚洲精品无码久久久久久| www.在线观看av| 日本福利视频导航| 亚洲制服在线观看| 第一区免费在线观看| 中文字幕国产免费| 亚洲激情在线看| 91插插插影院| 欧美性受黑人性爽| av 日韩 人妻 黑人 综合 无码| 亚洲在线观看网站| 艳母动漫在线观看| 国产欧美久久久久| 国产真人做爰毛片视频直播| 欧美视频免费看欧美视频| 欧美综合在线播放| 色综合av综合无码综合网站| 日本激情视频在线| 国产精品久久久久久9999| 三级av免费看| 日韩 欧美 视频| 欧美韩国日本在线| 久久人人爽av| 国产毛片久久久久久国产毛片| 国产h视频在线播放| 日本美女高潮视频| 最新视频 - x88av| av网站在线观看不卡| 精品综合久久久久| 成人毛片100部免费看| 日日橹狠狠爱欧美超碰| 中文字幕第100页| 大陆极品少妇内射aaaaaa| 国产主播在线看| 性做爰过程免费播放| 国产99久久九九精品无码| 国产福利在线免费| 免费观看美女裸体网站| 999在线观看| www.com毛片| 99亚洲国产精品| 性chinese极品按摩| 激情成人开心网| 欧美精品 - 色网| 日日摸天天爽天天爽视频| 青娱乐精品在线| 熟妇人妻无乱码中文字幕真矢织江| 日韩欧美中文视频| 嫩草影院国产精品| 日本欧美黄色片| 精品视频在线观看一区二区| 亚洲国产精品三区| 国产xxxxx在线观看| 久久久久99精品成人片| 欧美性猛交xxxx乱大交91| 日韩一级片播放| 久久久久久久激情| 91丨porny丨探花| r级无码视频在线观看| 国内av免费观看| 日韩精品在线播放视频| 性欧美在线视频| 亚洲激情在线看| 天天看片天天操| 999精彩视频| jizz大全欧美jizzcom| 免费av网址在线| 黑鬼大战白妞高潮喷白浆| 国产激情在线看| 性欧美18一19内谢| 五月天色婷婷综合| av电影一区二区三区| 午夜久久久久久久久久久| 成人性生交视频免费观看| 一本之道在线视频| 午夜啪啪福利视频| 国产黄色激情视频| 久久久久久久久久久视频| 九色在线视频观看| 亚洲黄色a v| 日韩av自拍偷拍| 佐佐木明希av| 搞av.com| 日韩视频免费在线播放| 国产激情在线观看视频| 在线免费观看av的网站| 黄色片免费网址| 免费网站永久免费观看| 国产精品专区在线| 国产成人久久婷婷精品流白浆| 国产熟女高潮视频| 欧美成人福利在线观看| 男女激烈动态图| 欧美日韩在线视频一区二区三区| 欧美日韩中文在线视频| 手机版av在线| www.激情网| 国产精品入口免费软件| 99亚洲精品视频| 99999精品视频| 激情文学亚洲色图| 秋霞无码一区二区| 亚洲一区精品视频在线观看| 欧美这里只有精品| 久久久久久久久久久久久久久国产 | 成人亚洲精品777777大片| www.桃色.com| 欧美色图另类小说| 无码人妻aⅴ一区二区三区日本| 日本日本19xxxⅹhd乱影响| 色网站在线视频| 成人av一级片| 日本人妻伦在线中文字幕| 黄色aaa级片| 青青草国产精品视频| 青青草影院在线观看| 免费一级特黄录像| 亚洲美免无码中文字幕在线| av在线网站免费观看| 最近中文字幕一区二区| 波多野结衣家庭教师在线| 青青草综合视频| www.污网站| 中文字幕资源在线观看| 激情综合网俺也去| 欧美二区在线视频| www.av91| 亚洲精品天堂成人片av在线播放| 伊人成人222| 污污视频网站免费观看| 国产熟女高潮视频| 情侣黄网站免费看| 精品人妻一区二区三区四区在线 | 91福利国产成人精品播放| 青青青青草视频| 可以在线看的av网站| 996这里只有精品| 老汉色影院首页| 亚洲爆乳无码精品aaa片蜜桃| 好吊色这里只有精品| 免费看av软件| 大胆欧美熟妇xx| 国产精品又粗又长| 日本精品免费在线观看| 可以免费在线看黄的网站| 日本va中文字幕| 一区二区免费av| 大桥未久一区二区三区| www.18av.com| 中文字幕无码精品亚洲35| 国产午夜伦鲁鲁| 鲁一鲁一鲁一鲁一av| 国产又粗又长又爽又黄的视频| 日日夜夜精品视频免费观看| 大片在线观看网站免费收看| 青青青在线观看视频| 一女被多男玩喷潮视频| 午夜国产一区二区三区| 91在线第一页| 国产免费黄视频| 日韩av一卡二卡三卡| a级片一区二区| 嫩草av久久伊人妇女超级a| 日本中文字幕二区| youjizz.com在线观看| 日本爱爱免费视频| 裸体裸乳免费看| av动漫在线观看| 超薄肉色丝袜足j调教99| 大陆极品少妇内射aaaaa| 五月天婷婷在线观看视频| 日韩国产一级片| 超碰中文字幕在线观看| 欧美牲交a欧美牲交| 国产又粗又猛大又黄又爽| 日韩国产一级片| 美国av在线播放| 男人舔女人下面高潮视频| 黄网站色视频免费观看| 日本美女视频一区| 日本xxxxxxxxxx75| 99亚洲精品视频| 狠狠操狠狠干视频| 精品视频一区二区在线| 国产免费一区二区视频| 亚洲天堂av免费在线观看| 日本熟妇人妻xxxxx| 阿v天堂2017| 久久男人资源站| 久久视频免费在线| 欧美视频亚洲图片| 三级a三级三级三级a十八发禁止| 国产男女无遮挡| 欧美变态另类刺激| 99热亚洲精品| 韩日视频在线观看|