亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Docker資源限制Cgroup怎么使用

發布時間:2022-09-15 17:42:03 來源:億速云 閱讀:137 作者:iii 欄目:開發技術

這篇文章主要介紹“Docker資源限制Cgroup怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Docker資源限制Cgroup怎么使用”文章能幫助大家解決問題。

    1.Cgroup簡介

    _cgroups,是一個非常強大的linux內核工具,他不僅可以限制被namespace隔離起來的資源,

    還可以為資源設置權重、計算使用量、操控進程啟停等等。所以cgroups (Control groups) 實現了對資源的配額和度量。

    cgroups有四大功能:

    • 資源限制:可以對任務使用的資源總額進行限制;

    • 先級分配:通過分配的cpu時間片數量以及磁盤I0帶寬大小,實際上相當于控制了任務運行優先級;

    • 資源統計:可以統計系統的資源使用量,如cpu時長, 內存用量等;

    • 任務控制: cgroup可以對任務執行掛起、恢復等操作。

    2.CPU資源限制

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

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

    2.1 查看CPU使用率

    1.查看默認值

    [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表示一個cpu帶寬,單位為微秒。系統總CPU帶寬: cpu核心數 * cfs_period_us
    #cfs_quota_us表示Cgroup可以使用的cpu的帶寬,單位為微秒。cfs_quota_us為-1,表示使用的CPU不受cgroup限制。cfs_quota_us的最小值為1ms(1000),最大值為1s。

    Docker資源限制Cgroup怎么使用

    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 &
    另一個終端使用top查看

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

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

    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
    
    #分別進入容器,進行壓力測試
    docker exec -it test01/02 bash
    yum install -y epel-release
    yum install stress -y
    stress -c 4					#產生四個進程,每個進程都反復不停的計算隨機數的平方根
    
    #查看容器的運行狀態(動態更新)
    docker stats 
    CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT     MEM %     NET I/O          BLOCK I/O        PID
    
    #########################################如果容器使用的是centos8可能無法使用yum安裝,按下步驟恢復
    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

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

    以下操作test01與test02相同

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

    Docker資源限制Cgroup怎么使用

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

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

    3.對內存使用進行限制

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

    Docker資源限制Cgroup怎么使用

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

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

    Docker資源限制Cgroup怎么使用

    關于“Docker資源限制Cgroup怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

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

    AI

    青川县| 永安市| 洞口县| 卢湾区| 垫江县| 木兰县| 涟水县| 鲁甸县| 乃东县| 惠安县| 海丰县| 松江区| 凉山| 岑溪市| 襄垣县| 喀什市| 顺昌县| 沙田区| 新宾| 吉水县| 天柱县| 临潭县| 庄河市| 杭锦后旗| 阳新县| 兴国县| 南召县| 毕节市| 东兰县| 始兴县| 洞头县| 七台河市| 周口市| 恩平市| 依安县| 海原县| 绥江县| 依兰县| 镇康县| 乌拉特前旗| 合水县|