0
点赞
收藏
分享

微信扫一扫

Docker底层原理:Cgroup V2的使用

水沐由之 2023-10-29 阅读 22
docker容器

文章目录

检查 cgroup2 文件系统是否已加载

cat /proc/filesystems | grep cgroup2

检查系统是否已挂载 cgroup2 文件系统

mount | grep cgroup2

若系统没有加载cgroup2文件系统,需要执行下面这条命令

echo 'cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,seclabel 0 0' >> /etc/fstab

mount -t cgroup2 none /sys/fs/cgroup

创建 cgroup2 层次结构

mkdir /sys/fs/cgroup/<cgroup_name>

查看 cgroup2 开启的资源控制类型

cat /sys/fs/cgroup/<cgroup_name>/cgroup.controllers

启用 cgroup2 资源控制

# 开启cpu和memory控制,具体情况,具体分析
echo "+cpu +memory" > /sys/fs/cgroup/<cgroup_name>/cgroup.subtree_control

设置 cgroup2 资源限制

# CPU配额限制为50%(即100毫秒周期最多执行50毫秒)
echo "50000 100000" > /sys/fs/cgroup/<cgroup_name>/cpu.max
# 内存使用将被限制在最大50mb
echo 50M > memory.max

加入进程到 cgroup2

# 将pid为7890的进程加入到你创建的cgroup
echo 7890 > /sys/fs/cgroup/<cgroup_name>/cgroup.procs
举报

相关推荐

0 条评论