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

Cgroup 控制组学习(三)在容器中使用 CGroups

一、CGroups 关于mememory的限制操作

cgroup关于cpu操作   关于memeory cgroup的几个要点

①  memeory限额类

1、memory.limit_bytes:'硬限制'--> 限制'最大内存'使用量,单位有k、m、g三种,填-1则代表无限制,默认是'字节'2、memory.soft_limit_bytes:'软限制',只有比强制限制设置的值'小'时才有意义,填写'格式同上'场景:1) 当整体内存'紧张'的情况下,task 获取的内存就'被限制'在软限制额度之内2) 以保证不会有太多进程'因内存挨饿';可以看到加入了内存的资源限制'并不代表'没有资源竞争3、memory.memsw.limit_bytes:设定'最大内存'与 'swap 区'内存'之和'的用量限制,填写格式同上

②  memeory报警与自动控制

4、memory.oom_control:1) 该'参数'填 0 或 12) '0表示开启',当 cgroup 中的进程使用资源'超过界限时'立即杀死进程,'1'表示'不启用'3) '默认'情况下,包含 memory 子系统的 cgroup 都'启用'4) 当oom_control'不启用',实际使用内存'超过界限时'进程会'被暂停'直到有空闲的内存资源

③  memeory统计与监控

5、memory.usage_bytes:统计​​​'该​​​ cgroup 中​​​进​​​程'​​​使​​​用​​​的​​​当​​​前​​​总​​​内​​​存​​​用​​​量,以'字节'为单位6、memory.max_usage_bytes:统计报​​​告​​​该​​​ cgroup 中​​​进​​​程​​​使​​​用​​​的​​​'最​​​大​​​'内​​​存​​​用​​​量6、memory.failcnt:报​​​告​​​内​​​存'​​​达​​​到'​​​在​​​ memory.limit_in_bytes设​​​定​​​的​​​'限​​​制​​​值'​​​的​​​次​​​数​​​7、memory.stat:包含'大量'的内存统计数据8、cache:'页​​​缓​​​存'​​​,包​​​括​​​ tmpfs(shmem),单位为字节9、rss:'匿​​​名​​​和​​​ swap 缓​​​存'​​​,不​​​包​​​括​​​ tmpfs(shmem),单位为字节9、mapped_file:memory-mapped 映​​​射​​​的​​​文​​​件​​​大​​​小​​​,包​​​括​​​ tmpfs(shmem),单​​​位​​​为​​​字​​​节​​​10、pgpgin:'存​​​入'​​​内​​​存​​​中​​​的​​​页​​​数
​​​
11、pgpgout:从​​​内​​​存​​​中'​​​读​​​出​​​'的​​​页​​​数12、swap:swap 用​​​量​​​,单​​​位​​​为​​​字​​​节​​​

kubelet --cgroup-driver=systemd

④   在容器中使用cgroup

容器本质:操作系统上的一个'进程process',关于进程有'哪些'管理nerdctl run -h  '截取部分输出'

docker 背后的内核 Cgroups 机制

需求:在 Containerd 的容器中来'使用 cgroup',并限制其使用内存为 '50M'

 

nerdctl inspect nginx | jq '.[0].Id' -r

 

说明:nginx 容器'进程 ID' 也会出现在上面的 'tasks' 文件中

说明:删除'容器'后,/sys/fs/cgroup/memory/default/ 目录下的'容器 ID'文件夹也会自动删除

namespace基础概念

容器背后的两个核心技术:Cgroups 和 Namespace

Docker背后的内核Cgroup机制    cgroup的两种驱动 cgroups systemd

linux 虚拟化 docker 之 cgroup     linux cgroup学习总结mount

http://www.lryc.cn/news/601852.html

相关文章:

  • MySQL - 主从复制与读写分离
  • Cline与Cursor深度实战指南:AI编程助手的革命性应用
  • 基于CNN图像特征提取流程(简化版)
  • Linux实战:从零搭建基于LNMP+NFS+DNS的WordPress博客系统
  • Flink窗口:解锁流计算的秘密武器
  • QT---概览
  • 使用frp实现免费内网穿透
  • Triton Shared编译
  • 【前后端】node mock.js+json-server
  • LeetCode Hot 100 括号生成
  • 力扣热题100----------41.缺少的第一个正数
  • NodeJs接入腾讯云存储COS
  • PROFINET转CAN通讯协议转换速通汽车制造
  • 解析json异常, ObjectMapper注册的问题
  • 生成式召回-TIGER范式
  • BUG记录——Request接传Json数据中文乱码
  • C语言——————学习笔记(自己看)
  • Oracle 19C RU 19.28 升级和安装
  • Frontiers in Psychology投稿LaTeX(三)
  • Python异常处理:金融风控系统中的救命盾牌
  • 设备分配与回收
  • 6.Pinia快速入门
  • 3.JDK+JRE组件构成与协作
  • LeetCode 刷题【16. 最接近的三数之和、17. 电话号码的字母组合】
  • 推荐系统学习
  • 电子电路设计学习
  • Oracle数据库常用语法详解
  • 逆向入门(43)程序逆向篇-tsrh-crackme
  • C++ auto 类型推导
  • Android MQTT 长连接最佳实践技术分享