当前位置: 首页 > article >正文

Docker底层原理:Cgroup V2的使用

文章目录

  • 检查 cgroup2 文件系统是否已加载
  • 检查系统是否已挂载 cgroup2 文件系统
  • 创建 cgroup2 层次结构
  • 查看 cgroup2 开启的资源控制类型
  • 启用 cgroup2 资源控制
  • 设置 cgroup2 资源限制
  • 加入进程到 cgroup2

检查 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

http://www.kler.cn/a/108975.html

相关文章:

  • scala的练习题
  • 服务器数据恢复—分区结构被破坏的reiserfs文件系统数据恢复案例
  • Python酷库之旅-第三方库Pandas(206)
  • goframe开发一个企业网站 rabbitmq队例15
  • AndroidStudio-文本显示
  • 解耦与模块化:鸿蒙平台上的服务注册与查找机制
  • centos7 部署 Flink
  • 设计模式——单例模式详解
  • 随笔:使用Python爬取知乎上相关问题的所有回答
  • 【CSS】伪类和伪元素
  • C#WPFPrism框架导航应用实例
  • sprinbboot 2.7启动不生成日志文件
  • 电子电器架构 —— 车载网关初入门(二)
  • 【C++代码】爬楼梯,不同路径,整数拆分,不同搜索树,动态规划--代码随想录
  • 泰州市旅游景点门票预订管理系统 vue+uniapp微信小程序
  • C#:枚举是命名的整形常量的集合
  • 什么是 Node.js
  • ESM蛋白质语言模型系列
  • 202310-MetaPhlAn4安装和使用方法-Anaconda3- centos9 stream
  • Anaconda下载和安装
  • hdlbits系列verilog解答(8位宽移位寄存器)-24
  • LangChain+LLM实战---BERT主要的创新之处和注意力机制中的QKV
  • MyBatis-Plus 实战教程四 idea插件
  • IP地址与代理ip在网络安全中的关键作用
  • 震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
  • 信息系统项目管理师教程 第四版【第5章-信息系统工程-思维导图】