【DOCKER进阶】-3 cgroups
·
Docker Cgroups
[!note] 核心摘要
- Cgroups(Control Groups):Linux 内核提供的资源控制机制,与 Namespace 的"隔离视图"互补,负责 CPU、内存、存储等资源的限制与分配
- 核心功能:资源限制、优先级分配、资源统计、进程控制
- 本文档重点记录 CPU 资源相关的实操实验
一、Cgroups 简介
![![[03_云原生/Docker/image/995c222dc7b59719e44d5b7352092731_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/657fc6fcab2847bd8da5df330dbfa350.png)
二、核心功能
- 资源限制(Resource Limitation):cgroups 可以对进程组使用的资源总额进行限制。如设定应用运行时使用内存的上限,一旦超过这个配额就发出 OOM(Out of Memory)。
- 优先级分配(Prioritization):通过分配的 CPU 时间片数量及硬盘 IO 带宽大小,实际上就相当于控制了进程运行的优先级。
- 资源统计(Accounting):cgroups 可以统计系统的资源使用量,如 CPU 使用时长、内存用量等等,这个功能非常适用于计费。
- 进程控制(Control):cgroups 可以对进程组执行挂起、恢复等操作。
三、应用案例
![![[03_云原生/Docker/image/686d7dc37fc053cdd3d90d6daa96d3cf_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/e2a04601b0974a9a903c088739e38240.png)
![![[03_云原生/Docker/image/233c62ccb0686831c04f3a8a07e6f516_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/ef447067ac374d85ad17d799d2920e7a.png)
![![[03_云原生/Docker/image/16197fb0b0756a41138f5f4fb1f828ce_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/b94bda866c9345938f3305b7e00e3633.png)
四、实操:CPU 资源实验
1. 查看多 CPU 情况
通过 /sys/devices/system/cpu 目录可以查看系统的 CPU 信息,其中每个 CPU 都有对应的 online 文件,1 表示在线,0 表示离线:
root@node01:~# ls /sys/devices/system/cpu
cpu0 cpu3 hotplug modalias possible smt
cpu1 cpufreq isolated offline power uevent
cpu2 cpuidle kernel_max online present vulnerabilities
root@node01:~#
root@node01:~# ls /sys/devices/system/cpu/cpu1/online
/sys/devices/system/cpu/cpu1/online
root@node01:~# cat /sys/devices/system/cpu/cpu1/online
1
root@node01:~#
2. 让 CPU 下线
![![[03_云原生/Docker/image/b28be4018ce97c09a011c6ec90bd9c01_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/120d2d8562b844ebaf87b8a068a0cd6d.png)
![![[03_云原生/Docker/image/5c5c7637047c80ef5f3705ca941d0204_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/efbab738f46e4090b16c719961ff54b2.png)
3. 测试:查看是否有资源分配
![![[03_云原生/Docker/image/0ec5c2fd9ad97214744354b804e8586b_MD5.jpg]]](https://i-blog.csdnimg.cn/direct/6e2e64377df84076b491a027964a6692.png)
更多推荐


所有评论(0)