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上的线程。