Cgroups定义及验证

sudo lsb_release -a可以看到操作系统版本是20.04sudo uname -r可以看到内核版本是5.4.0-156-generic
Cgroups定义及验证_第1张图片

Linux Cgroups 的全称是 Linux Control Group。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。

sudo mount -t cgroup展示Cgroups给用户暴露出来的操作接口等文件系统。
Cgroups定义及验证_第2张图片

ls /sys/fs/cgroup/cpu 看一下CPU 子系统中配置文件。
Cgroups定义及验证_第3张图片

我们可以使用底下的方法来使用上边子系统的配置文件:
cd /sys/fs/cgroup/cpu进入特定的目录,然后使用mkdir container创建一个新目录。
在这里插入图片描述

container这样的目录称为一个控制组,操作系统会在你新创建的 container 目录下,自动生成该子系统对应的资源限制文件,ls container/显示了生成的各种文件,如下图。
Cgroups定义及验证_第4张图片

cd container/进入特定的目录。
while : ; do : ; done &后台执行while脚本开始进行吃内存。
Cgroups定义及验证_第5张图片

按q退出top

sudo cat /sys/fs/cgroup/cpu/container/cpu.cfs_quota_us
sudo cat /sys/fs/cgroup/cpu/container/cpu.cfs_period_us

显示对应配置值。

Cgroups定义及验证_第6张图片

sudo echo 20000 > /sys/fs/cgroup/cpu/container/cpu.cfs_quota_us把20000写入cpu.cfs_quota_us中。
在这里插入图片描述

sudo echo 28435 > /sys/fs/cgroup/cpu/container/tasks把PID——28435写入到tasks中。
在这里插入图片描述

这里的PID——28435是上边执行while语句产生的。
在这里插入图片描述

再使用top看一下,28435的CPU使用率下降到20%左右。
Cgroups定义及验证_第7张图片

按q退出top

sudo kill -9 28435把进程杀死。
在这里插入图片描述

此文章为11月Day 3学习笔记,内容来源于极客时间《深入剖析 Kubernetes》。

你可能感兴趣的:(深入剖析,Kubernetes,kubernetes)