五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Docker資源限制Cgroup的深入理解

發(fā)布日期:2022-07-15 19:08 | 文章來源:站長之家

1.Cgroup簡介

_cgroups,是一個(gè)非常強(qiáng)大的linux內(nèi)核工具,他不僅可以限制被namespace隔離起來的資源,

還可以為資源設(shè)置權(quán)重、計(jì)算使用量、操控進(jìn)程啟停等等。所以cgroups (Control groups) 實(shí)現(xiàn)了對資源的配額和度量。

cgroups有四大功能:

  • 資源限制:可以對任務(wù)使用的資源總額進(jìn)行限制;
  • 先級分配:通過分配的cpu時(shí)間片數(shù)量以及磁盤I0帶寬大小,實(shí)際上相當(dāng)于控制了任務(wù)運(yùn)行優(yōu)先級;
  • 資源統(tǒng)計(jì):可以統(tǒng)計(jì)系統(tǒng)的資源使用量,如cpu時(shí)長, 內(nèi)存用量等;
  • 任務(wù)控制: cgroup可以對任務(wù)執(zhí)行掛起、恢復(fù)等操作。

2.CPU資源限制

Linux通過CFS ( Completely Fair Scheduler, 完全公平調(diào)度器)來調(diào)度各個(gè)進(jìn)程對CPU的使用。CFS默認(rèn)的調(diào)度周期是100ms。
可以設(shè)置每個(gè)容器進(jìn)程的調(diào)度周期,以及在這個(gè)周期內(nèi)各個(gè)容器最多能使用多少CPU時(shí)間。
使用–cpu-period即可設(shè)置調(diào)度周期,使用–cpu-quota即可設(shè)置在每個(gè)周期內(nèi)容器能使用的CPU時(shí)間。兩者可以配合使用。

CFS周期的有效范圍是1ms~1s, 對應(yīng)的–cpu-period的數(shù)值范圍是1000~1000000。
容器的CPU 配額必須不小于1ms,即–cpu-quota 的值必須>= 1000。

2.1 查看CPU使用率

1.查看默認(rèn)值

[root@localhost ~]# cd /sys/fs/cgroup/cpu/docker         
[root@localhost docker]# cat cpu.cfs_period_us cpu.cfs_quota_us 
100000
-1
#cfs_period_us表示一個(gè)cpu帶寬,單位為微秒。系統(tǒng)總CPU帶寬: cpu核心數(shù) * cfs_period_us
#cfs_quota_us表示Cgroup可以使用的cpu的帶寬,單位為微秒。cfs_quota_us為-1,表示使用的CPU不受cgroup限制。cfs_quota_us的最小值為1ms(1000),最大值為1s。

2.2 測試CPU使用率

docker run -it --name test01 debian:latest
vi cpu.sh
#!/bin/bash
i=0
while true
do
	let i++
done
chmod +x cpu.sh 
./cpu.sh &
另一個(gè)終端使用top查看

2.3 設(shè)置CPU資源占用比(設(shè)置多個(gè)容器時(shí)才有效)

docker rm -f `docker ps -a -q`                    #刪除原有容器
docker run -itd --name test01 --cpu-shares 1024 centos:latest
docker run -itd --name test02 --cpu-shares 512 centos:latest
#分別進(jìn)入容器,進(jìn)行壓力測試
docker exec -it test01/02 bash
yum install -y epel-release
yum install stress -y
stress -c 4					#產(chǎn)生四個(gè)進(jìn)程,每個(gè)進(jìn)程都反復(fù)不停的計(jì)算隨機(jī)數(shù)的平方根
#查看容器的運(yùn)行狀態(tài)(動(dòng)態(tài)更新)
docker stats 
CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT     MEM %     NET I/O          BLOCK I/O        PID
#########################################如果容器使用的是centos8可能無法使用yum安裝,按下步驟恢復(fù)
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all
yum makecache

以下操作test01與test02相同

由上圖可以看見兩個(gè)容器之間的cpu使用比率接近于2:1
(cpu使用率超過100的原因:當(dāng)單個(gè)處理器的使用率達(dá)到100%時(shí)。對于多個(gè)處理器,這個(gè)數(shù)字將超過100%,您需要乘以主機(jī)可用

的處理器數(shù)量,才能找到理論上限,由于該虛擬機(jī)我分配了兩核心,所以理論使用上線為200%)

3.對內(nèi)存使用進(jìn)行限制

docker run -itd --name test03 -m 512m centos:latest
docker stats


4.對磁盤IO配額控制(blkio)的限制

#–device - read-bps:限制某個(gè)設(shè)備上的讀速度bps (數(shù)據(jù)量),單位可以是kb、mb (M)或者gb。
docker run -itd --name test04 --device-read-bps /dev/sda:1M centos:latest bash
#–device-write-bps :限制某個(gè)設(shè)備上的寫速度bps (數(shù)據(jù)量),單位可以是kb、mb (M)或者gb。
docker run -itd --name test05 --device-write-bps /dev/sda:1M centos:latest bash
--device-read-iops :限制讀某個(gè)設(shè)備的iops (次數(shù))
--device-write-iops :限制寫入某個(gè)設(shè)備的iops (次數(shù)) 
#進(jìn)入容器驗(yàn)證寫入速度
dd if=/dev/zero of=test.txt bs=2M count=5 oflag=direct	#添加oflag參數(shù)以規(guī)避掉文件系統(tǒng)cache

到此這篇關(guān)于Docker資源限制Cgroup的深入理解的文章就介紹到這了,更多相關(guān)Docker 資源限制 Cgroup內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

美國穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部