最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker容器資源控制CGroup的使用

 更新時間:2025年09月04日 10:50:57   作者:@t.t.  
本文主要介紹了Docker容器資源控制CGroup的使用,用于限制CPU、內存、磁盤I/O等資源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、CGroups的含義

CGroups是Linux內核提供的一 種可以限制單個進程或者多個進程所使用資源的機制,可以對 CPU、內存和磁盤I/O等資源實現(xiàn)檢制。Docker可使用CGroups提倡的資源限制功能來完成CPU、內存等部分的資源控制。

CGroups提供了對進程進行分組化管理的功能和接口的基礎結構,內存或磁盤I/O的分配控制等具體的資源管理功能是通過對進程進行分組化管理來實現(xiàn)的。這些具體的資源管理功能稱為CGroups子系統(tǒng)或控制器,主要通過以下九大子系統(tǒng)實現(xiàn)。

(1)blkio:為每個塊設備設置I/O限制,如磁盤、光盤和USB等設備。

(2) cpu:使用調度程序提供對CPU的CGroup任務訪問。

(3) cpuacct:自動生成CGroup任務的CPU資源使用報告。

(4)cpuset:為CGroup中的任務分配獨立CPU (在多核系統(tǒng)中)和內存節(jié)點。

(5) devices:允許或拒絕CGroup任務訪問設備。

(6) freezer: 暫停和恢復CGroup任務。

(7)memory:設置每個CGroup任務使用的內存限制,并自動生成內存資源使用報告。

(8)net_ clsI: 標記每個網(wǎng)絡包以供CGroup任務使用。

(9)ns:命名空間子系統(tǒng)。(namesparce)

二、CGroup的功能和特點

1、CGroups的主要功能

(1) CGroups可實現(xiàn)對進程組使用的資源總額的限制。例如,使用memory子系統(tǒng)為進程組設定一個內存使用上限, 當進程組使用的內存達到限額后再申請內存時,會觸發(fā)OOM(OutOfMemory)警告。

(2)CGroups可實現(xiàn)對進程組的優(yōu)先級控制。通過分配CPU時間片數(shù)量及硬盤I/O、帶寬大小可控制進程的優(yōu)先級。例如,使用CPU子系統(tǒng)為某個進程組分配特定cpu share。

(3) CGroups 可實現(xiàn)對進程組使用的資源數(shù)量的記錄。例如,使用cpuacct子系統(tǒng)可記錄某個進程組使用的CPU時間。

(4) CGroups 可實現(xiàn)對進程組的隔離和控制。例如,使用ns子系統(tǒng)對不同的進程組使用不同的namespace,以達到隔離的目的,使用不同的進程組實現(xiàn)各自的進程、網(wǎng)絡、文件系統(tǒng)掛載空間,也可使用feezer子系統(tǒng)將進程組暫停和恢復。

2、CGroups的特點

(1)控制族群:控制族群是組按照某種標準劃分的進程。CGroups中的資源控制都是以控制族群為單位實現(xiàn)的。一個進程可以加入某個控制族群中,也可以從一個進程組遷移到另一個控制族群。一個進程組的進程可以使用CGroups以控制族群為單位分配資源,并受到CGroups以控制族群為單位設定的限制。

(2)層級:控制族群可以組織為hierarchical 的形式,即一棵控制族群樹。子控制組自動繼承父節(jié)點的特定屬性,子控制組還可以有自己特定的屬性。

(3)子系統(tǒng):一個子系統(tǒng)就是一個資源控制器, 如memory 子系統(tǒng)是一個內存控制器。子系統(tǒng)必須附加到一個層級上才能起作用。個子 系統(tǒng)附加到某個層級以后, 這個層級上的所有控制族群都受到這個子系統(tǒng)的控制。

三、實訓

1、利用CGroups實現(xiàn)CPU資源控制

(1)利用busybox鏡像生成容器,設置容器調度的周期為5000,將容器在每個周期內的CPU配額設置為25000

[root@controller ~]# docker run -dit --name t1 --cpu-period 50000 --cpu-quota 25000 busybox:latest
da8f5d80873d6dc349e7aae44ef51571b7c530070b8600468aceaec9c20936ac

(2)利用busybox鏡像生成容器。將容器綁定到CPU上執(zhí)行,設置容器調度的周期和周期內的CPU配額為50000

[root@controller ~]# docker run -dit --name t2 --cpuset-cpus 0 --cpu-period 50000 --cpu-quota 50000 busybox
8bc68f70004e051b344948717d82acba9e9c1a0f5a15f911fa60394618436e12

(3)利用busybox鏡像生成兩個容器,設置第二個容器的CPU使用率是第一個容器的兩倍

[root@controller ~]# docker run  -dit --name t3 --cpu-quota 1000 busybox
4908f5f5846fc5f269e5a5c7ebf82a4bf53a6f4dacf47753bbbfb2579fccbf88
[root@controller ~]# docker run  -dit --name t4 --cpu-quota 2000 busybox
71f56247679674f65c888562f3ea8f90f783a20e25a2a0f803bdb1ebef928aa4

2、利用CGroups實現(xiàn)內存資源控制

(1)利用busybox鏡像生成容器,設置容器使用的最大內存為256MB

[root@controller ~]# docker run -dit --name  t5 --memory 256MB busybox
3349f1259d61026be4353a6d9460a5e4f43bd960451547d1c4dd383df292fadc

3、利用CGroups實現(xiàn)磁盤I/O控制

(1)利用busybox鏡像生成容器,設置第二個容器讀這些磁盤的帶寬是第一個容器兩倍

[root@controller ~]# docker run -dit --name t6 --device-read-bps /dev/sda1:1mb  --device-write-bps /dev/sda1:1mb busybox 
b55bce694ef2a24f029ac9c13afe28510085db2751162d876de1b97e210c1066
[root@controller ~]# docker run -dit --name t7 --device-read-bps /dev/sda1:2mb  --device-write-bps /dev/sda1:2mb busybo
79d2920ce67a8c9956d499cff05fc09bee19ab412e419817ea7f220cd6cfc45c

(2)利用busybox鏡像生成容器,設置容器讀寫速度為30MB/s

[root@controller ~]# docker run -dit --name t8 --device-write-bps /dev/sd2:30mb busybox
70ce52a12add7635fcf082311f5cd719ade0036c0a716ced275a83c4802ea4a2

到此這篇關于Docker容器資源控制CGroup的使用的文章就介紹到這了,更多相關Docker容器資源控制CGroup內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker容器存放目錄磁盤空間滿了的解決

    docker容器存放目錄磁盤空間滿了的解決

    這篇文章主要介紹了docker容器存放目錄磁盤空間滿了的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • docker-compose限制容器cpu和內存方式

    docker-compose限制容器cpu和內存方式

    這篇文章主要介紹了docker-compose限制容器cpu和內存方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker?運行花生殼實現(xiàn)內外網(wǎng)穿透的詳細過程

    docker?運行花生殼實現(xiàn)內外網(wǎng)穿透的詳細過程

    這篇文章主要介紹了docker?運行花生殼實現(xiàn)內外網(wǎng)穿透,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 利用docker搭建php7和nginx運行環(huán)境全過程(官方鏡像)

    利用docker搭建php7和nginx運行環(huán)境全過程(官方鏡像)

    docker提供了在服務端分布式的部署應用,這樣的好處是方便維護和升級。下面這篇文章主要給大家介紹了利用docker搭建php7和nginx運行環(huán)境的相關資料,搭建過程中運用的是官方鏡像,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • 如何解決安裝docker的yum工具時報錯問題

    如何解決安裝docker的yum工具時報錯問題

    在安裝Docker時遇到y(tǒng)um工具錯誤可通過更新yum源解決,先卸載舊Docker,備份原yum源,下載新的CentOS-Base.repo文件到指定目錄,安裝yum工具后,配置Docker的yum源,國內用戶建議使用aliyun源以避免訪問異常,安裝并啟動Docker,校驗是否成功
    2024-09-09
  • Docker部署PostgreSQL+PostGIS服務的實現(xiàn)

    Docker部署PostgreSQL+PostGIS服務的實現(xiàn)

    本文介紹了如何使用Docker快速部署PostgreSQL,并手動安裝PostGIS模塊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-12-12
  • 使用 kind 和 Docker 啟動本地的 Kubernetes環(huán)境

    使用 kind 和 Docker 啟動本地的 Kubernetes環(huán)境

    這篇文章主要介紹了使用 kind 和 Docker 啟動本地的 Kubernetes環(huán)境,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • docker通過Dockerfile修改鏡像中tomcat的端口

    docker通過Dockerfile修改鏡像中tomcat的端口

    8080端口會經常出現(xiàn)被占用的情況,本文主要介紹了docker通過Dockerfile修改鏡像中tomcat的端口,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Docker如何配置Redis容器持久化

    Docker如何配置Redis容器持久化

    這篇文章主要介紹了Docker如何配置Redis容器持久化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Docker搭建RabbitMQ集群的方法步驟

    Docker搭建RabbitMQ集群的方法步驟

    本文主要介紹了Docker搭建RabbitMQ集群的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

宜黄县| 黔西县| 莱西市| 盈江县| 禹州市| 洪泽县| 霸州市| 惠水县| 萍乡市| 康保县| 长顺县| 华亭县| 保康县| 温泉县| 亳州市| 噶尔县| 赤峰市| 桂东县| 南木林县| 汝城县| 盘山县| 攀枝花市| 闽清县| 芜湖市| 伊川县| 西充县| 福贡县| 兴业县| 大理市| 娄烦县| 清新县| 亚东县| 石阡县| 襄樊市| 军事| 汾阳市| 靖安县| 新野县| 炎陵县| 商水县| 延寿县|