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.pswp.cn/news/916533.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot面试基础知识

SpringBoot 是面试中后端开发岗位的高频考点,以下是核心考点整理:1. SpringBoot 基础概念- 定义:SpringBoot 是 Spring 框架的简化版,通过“自动配置”“起步依赖”等特性,简化 Spring 应用的搭建和开发,减…

Java面试全方位解析:从基础到AI的技术交锋

Java面试全方位解析:从基础到AI的技术交锋 面试场景:互联网大厂Java工程师岗位面试 面试官:您好,我是今天的面试官,接下来我们将进行三轮技术面试。 谢飞机:您好您好!我是谢飞机,特别…

Web Worker:解锁浏览器多线程,提升前端性能与体验

目录 一、Web Worker 是什么? 核心特性 类型 二、为什么需要 Web Worker?(单线程的痛点) 三、Web Worker 的典型使用场景 四、一个简单的代码示例 (专用 Worker) 五、使用 Web Worker 的注意事项 六、总结 一、Web Worker 是什么? 简…

LabVIEW命令行调用与传参功能

该功能一方面借助 Formatinto String 构建命令行字符串,实现LabVIEW 环境下命令行调用 VI 并传参;另一方面,针对 Mac 平台,通过解析应用 Info.plist 文件,处理 LabVIEW 可执行文件路径,完善跨平台命令行调用…

使用FRP搭建内网穿透工具,自己公网服务器独享内外网端口转发

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。简单来说,就是让互联网(外网)设备能访问局域网(内网)设备提…

JavaWeb01——基础标签及样式(黑马视频笔记)

1.如何用VScode写html代码 1. 首先在vscode上安装一些插件,插件如下: 2.打开你要写入的html文件的文件夹,然后右击“ 新建文件”,命名 “xxx.html”, 3.如果是写 css文件,那么也是右击“新建文件”,命名“x…

在2G大小的文件中,找出高频top100的单词

将 2GB 的大文件分割为 2048 个大小为 512KB 的小文件,采用流式读取方式处理,避免一次性加载整个文件导致内存溢出。初始化一个长度为 2048 的哈希表数组,用于分别统计各个小文件中单词的出现频率。利用多线程并行处理机制遍历所有 2048 个小…

基于LNMP分布式个人云存储

1.准备工作a.关闭两台虚拟机的安全软件客户端:[rootmaster ~]# systemctl stop firewalld [rootmaster ~]# systemctl disable firewalld [rootmaster ~]# systemctl status firewalld ○ firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (…

指针运算全攻略:加减、比较与排序

常见的指针指针运算说明1.指针与整数的加减运算对指针可以进行加法运算&#xff0c;即p n或者p - n。其结果依旧是一个是一个指针&#xff0c;新的指针是在原来的地址值基础上加上/减去n *(sizeof(指针指向的数据类型)&#xff09;个字节。示例&#xff1a;#include<stdio.…

物联网安装调试-物联网网关

物联网网关作为连接终端设备与云平台的核心枢纽,其分类与选型需结合功能定位、硬件性能、连接方式及应用场景等多维度考量。以下从分类体系和产品推荐两方面系统梳理,助您高效决策: 🔧 一、物联网网关分类体系 1. 按功能定位划分 类型 核心能力 典型场景 代表产品 边缘计…

Jenkins教程(自动化部署)

Jenkins教程(自动化部署) 1. Jenkins是什么&#xff1f; Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;广泛用于项目开发&#xff0c;具有自动化构建、测试和部署等功能。Jenkins用Java语言编写&#xff0c;可在Tomcat等流行的servlet容器中运行&…

linux 驱动验证是否成功 之 查看moudle信息

这些是 Linux 内核模块&#xff08;.ko&#xff09;中的元信息&#xff08;metadata&#xff09;&#xff0c;可以通过如下方式查看&#xff1a;✅ 1. 使用 modinfo 命令查看已加载或已编译模块信息 示例&#xff1a; modinfo aw2013.ko输出内容大概如下&#xff1a; filename:…

浏览器关闭之前请求接口到后端

2025.07.24今天我学习了如何在浏览器关闭之前请求一个接口返回到后端。可以用performance.navigation判断是浏览器关闭&#xff0c;还是浏览器刷新&#xff0c;因为我这边只需要浏览器关闭的时候才去触发1. 利用performance API&#xff08;刷新检测&#xff09; 刷新页面时&am…

MySQL批量数据处理与事务管理

MySQL是一种广泛应用的关系型数据库管理系统&#xff0c;尤其在数据分析和业务逻辑处理方面具有重要地位。在数据量庞大的业务场景中&#xff0c;批量数据处理和事务管理是提高效率和保障数据一致性的重要手段。掌握高效的批量数据操作方法与事务管理技巧&#xff0c;不仅能够提…

iOS网络之异步加载

为什么你的图片要异步加载&#xff1f;在仿写天气预报时&#xff0c;我们常常需要从网络加载天气图标&#xff0c;例如显示某个小时的天气状态图标。这看似简单的事情&#xff0c;如果处理不当&#xff0c;却很容易造成界面卡顿&#xff0c;甚至影响整个 App 的用户体验。错误做…

C#值类型属性的典型问题

问题复现&#xff1a;值类型属性的副本问题以下代码展示了值类型属性的典型问题&#xff1a;struct Point {public int X;public int Y; }class MyClass {public Point Position {get; set;} }// 使用属性修改结构体&#xff08;无效&#xff01;&#xff09; var obj new MyC…

机器学习基础-k 近邻算法(从辨别水果开始)

一、生活中的 "分类难题" 与 k 近邻的灵感 你有没有这样的经历&#xff1a;在超市看到一种从没见过的水果&#xff0c;表皮黄黄的&#xff0c;拳头大小&#xff0c;形状圆滚滚。正当你犹豫要不要买时&#xff0c;突然想起外婆家的橘子好像就是这个样子 —— 黄色、圆…

【WPF】NumericUpDown的用法

在 WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;NumericUpDown 控件并不是内置的标准控件之一&#xff0c;但它是一个非常常用的控件&#xff0c;用于让用户输入一个数值&#xff08;整数或浮点数&#xff09;&#xff0c;并提供上下箭头来递增或…

Kotlin位运算

Kotlin 提供了几种用于操作整数各个位&#xff08;bit&#xff09; 的运算符。这些操作是由处理器直接支持的&#xff0c;速度快且操作简单。在底层编程中非常重要&#xff0c;比如设备驱动、低级图形处理、网络通信、加密和压缩等。 尽管计算机通常都有高效的硬件指令来执行算…

墨者:通过手工解决SQL手工注入漏洞测试(MongoDB数据库)

一、SQL手工注入漏洞测试(MongoDB数据库) 本文以墨者学院靶场为例&#xff0c;演示MongoDB数据库的手工SQL注入全过程。靶场以自己的地址为准&#xff1a;http://124.70.71.251:42286/new_list.php?id1 二、注入原理说明 MongoDB作为NoSQL数据库&#xff0c;其注入方式与传…