cgroups 资源控制
核心概念
cgroups = 限制和统计进程资源使用
CPU、内存、IO、网络带宽
Docker 中的 cgroups
# 限制内存
docker run -m 512m nginx
# 限制 CPU
docker run --cpus 1.5 nginx
# 查看容器 cgroup
docker inspect --format='{{.State.Pid}}' my-app
cat /sys/fs/cgroup/memory/<PID>/memory.limit_in_bytes
cgroup v1 vs v2
| 版本 | 特点 |
|---|---|
| v1 | 多层级,每个资源独立 |
| v2 | 统一层级,更好的资源管理 |
小结
| 功能 | 说明 |
|---|---|
| 资源限制 | CPU、内存、IO |
| 资源统计 | 使用量监控 |
| 进程控制 | 优先级、冻结 |