Cgroups定义及验证

2023-11-03 18:28
文章标签 定义 验证 cgroups

本文主要是介绍Cgroups定义及验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sudo lsb_release -a可以看到操作系统版本是20.04sudo uname -r可以看到内核版本是5.4.0-156-generic
在这里插入图片描述

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

sudo mount -t cgroup展示Cgroups给用户暴露出来的操作接口等文件系统。
在这里插入图片描述

ls /sys/fs/cgroup/cpu 看一下CPU 子系统中配置文件。
在这里插入图片描述

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

container这样的目录称为一个控制组,操作系统会在你新创建的 container 目录下,自动生成该子系统对应的资源限制文件,ls container/显示了生成的各种文件,如下图。
在这里插入图片描述

cd container/进入特定的目录。
while : ; do : ; done &后台执行while脚本开始进行吃内存。
在这里插入图片描述

q退出top

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

显示对应配置值。

在这里插入图片描述

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%左右。
在这里插入图片描述

q退出top

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

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

这篇关于Cgroups定义及验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/340043

相关文章

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

easyui 验证下拉菜单select

validatebox.js中添加以下方法: selectRequired: {validator: function (value) {if (value == "" || value.indexOf('请选择') >= 0 || value.indexOf('全部') >= 0) {return false;}else {return true;}},message: '该下拉框为必选项'}