Cgroup 学习

2020-03-05 18:03:55 浏览数 (1)

cgroups 的主要作用

cgroups 的主要目的是为不同用户层面的资源管理提供一个统一化的接口。从单个任务的资源控制到操作系统层面的虚拟化,cgroups 提供了以下功能:

  • 资源限制:cgroups 可以对任务是要的资源总额进行限制
  • 优先级分配:通过分配的 CPU 时间片数量和磁盘 IO 带宽,就等同于控制了任务运行的优先级。
  • 资源统计:cgoups 可以统计系统的资源使用量
  • 任务控制:cgroups 可以对任务执行挂起、恢复等

task

task 表示进程或者线程

Cgroup

一个任务可以加入某一个cgroup 也可以从一个cgroup 迁移到另外一个cgroup

Subsystem

image.pngimage.png
  1. bikio
  2. cpu
  3. cpuacct
  4. cpuset
  5. devices
  6. freezer
  7. hugetlb
  8. memory
  9. net_cls/net_prio TC可以识别特定cgroup 数据包,并进行网络限制。设置网络优先级
  10. perf/pids
代码语言:txt复制
# yum install -y libcgroup-tools.x86_64
代码语言:txt复制
# echo 100000 > nick_cpu/cpu.cfs_period_us
# echo 10000 > nick_cpu/cpu.cfs_quota_us
image.pngimage.png
image.pngimage.png
image.pngimage.png

0 人点赞