docker cgroups

cgroups作用

cgroups在内核层默认开启。限制一个进程组能够使用的资源上限,包括CPU,内存,磁盘,网络带宽等,还能够对进程进行优先级设置,以及将进程挂起和恢复等操作。

查看cgroups内核模块

内核版本越高,支持的内核模块越多

#查看内核版本
uname -r
#查看cgroups内核模块
cat /boot/config-3.10.0-327.el7.x86_64 | grep CGROUP | grep -v ^#
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NETPRIO_CGROUP=m

查看系统cgroups

#centos7.7内核模块
ll /sys/fs/cgroup/
总用量 0
drwxr-xr-x 4 root root  0 1月  27 20:40 blkio
lrwxrwxrwx 1 root root 11 1月  27 20:40 cpu -> cpu,cpuacct
lrwxrwxrwx 1 root root 11 1月  27 20:40 cpuacct -> cpu,cpuacct
drwxr-xr-x 4 root root  0 1月  27 20:40 cpu,cpuacct
drwxr-xr-x 2 root root  0 1月  27 20:40 cpuset
drwxr-xr-x 4 root root  0 1月  27 20:40 devices
drwxr-xr-x 2 root root  0 1月  27 20:40 freezer
drwxr-xr-x 2 root root  0 1月  27 20:40 hugetlb
drwxr-xr-x 4 root root  0 1月  27 20:40 memory
drwxr-xr-x 2 root root  0 1月  27 20:40 net_cls
drwxr-xr-x 2 root root  0 1月  27 20:40 perf_event
drwxr-xr-x 4 root root  0 1月  27 20:40 systemd

内核模块功能

blkio:块设备IO限制。
cpu:使用调度程序为cgroup任务提供cpu访问
cpuacct:产生cgroup任务的cpu资源报告。
cpuset:如果是多核心的cpu,这个子系统会为cgroup任务分配单独的cpu和内存。
devices:允许或拒绝cgroup任务对设备的访问。
freezer:暂停和恢复cgroup任务。
memory:设置每个cgroup的内存限制以及产生内存资源报告。
net_cls:标记每个网络包以供cgroup方便使用。
ns:命名空间子系统。
perf_event:增加了对每group的监测跟踪的能力,可以监测属于某个特定group的所有线程以及运行在特定CPU上的线程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 认识Kubernetes与容器 - 容器本身没有价值,有价值的是容器编排 容器是什么 其实容器就是一种沙盒技术。 ...
    minute_5阅读 216评论 0 1
  • 什么是Cgroups? Cgroups提供了对一组进程及将来子进程的资源限制、控制和统 计的能力,这些资源包括 C...
    nil_ddea阅读 884评论 0 1
  • 1 Docker介绍 1.1 Docker介绍 1.1.1 容器历史 早期的容器基于Linux的LXC工作. 可以...
    随便写写咯阅读 417评论 0 1
  • Docker 容器是一种沙盒技术。沙盒就是能够像一个集装箱一样把应用(进程)装起来。这样应用(进程)与应用(进程)...
    你挺能闹_6726阅读 433评论 0 1
  • 夜莺2517阅读 127,762评论 1 9