cgroups 的主要作用
cgroups 的主要目的是为不同用户层面的资源管理提供一个统一化的接口。从单个任务的资源控制到操作系统层面的虚拟化,cgroups 提供了以下功能:
- 资源限制:cgroups 可以对任务是要的资源总额进行限制
- 优先级分配:通过分配的 CPU 时间片数量和磁盘 IO 带宽,就等同于控制了任务运行的优先级。
- 资源统计:cgoups 可以统计系统的资源使用量
- 任务控制:cgroups 可以对任务执行挂起、恢复等
task
task 表示进程或者线程
Cgroup
一个任务可以加入某一个cgroup 也可以从一个cgroup 迁移到另外一个cgroup
Subsystem
- bikio
- cpu
- cpuacct
- cpuset
- devices
- freezer
- hugetlb
- memory
- net_cls/net_prio TC可以识别特定cgroup 数据包,并进行网络限制。设置网络优先级
- perf/pids
# yum install -y libcgroup-tools.x86_64
代码语言:txt复制# echo 100000 > nick_cpu/cpu.cfs_period_us
# echo 10000 > nick_cpu/cpu.cfs_quota_us