Cgroup 基础设置

深入CGroup框架--基础篇 CGroup 全称是 Control Group,顾名思义,它是用来做“控制”的。控制什么东西呢?当然是资源的使用了。那它都能控制哪些资源的使用呢?本章主要进行总结,主要涉及到以下方面 what:什么是cgroup以及cgroup的内核实现 why: 能解决什么问题 How: 如何使用cgroup 1. 什么是cgroup cgroup是Linux下的一种将进程按组进行管理的机制,在用户层看来,cgroup技术就是把系统中的所有进程组织成一颗一颗独立的树,每棵树都包含系统的所有进程,树的每个节点是 阅读详情

1. 安装libcgroup

执行下面命令安装libcgroup:

   

# yum install libcgroup

2. Cgroup配置文件挂载点目录

  配置文件: /etc/cgconfig.conf

  挂载点根目录: /cgroup

  缺省子系统名称及挂载点(通过配置文件可以查看):

        cpuset  = /cgroup/cpuset;

        cpu     = /cgroup/cpu;

        cpuacct = /cgroup/cpuacct;

        memory  = /cgroup/memory;

        devices = /cgroup/devices;

        freezer = /cgroup/freezer;

        net_cls = /cgroup/net_cls;

        blkio   = /cgroup/blkio;

 

3. 启动和停止cgroup服务

  # sudo service cgconfig start 启动

  # sudo service cgconfig stop 停止
 

4. 系统启动时自动启动cgroup服务

查看服务状态命令:chkconfig --list cgconfig

随系统自动启动命令: chkconfig cgconfig on

 

5. 显示已经挂载的子系统命令

lssubsys -am

6. 创建cgroup命令

cgcreate -t <uid:gid> -a <uid:gid> -g <subsystems:cgroup-path>

 

-t <uid:gid> 指定允许向 cgroup 分配任务的用户和组ID,这里的cgroup是参数cgroup-path所指向的层次的cgroup, 即所要创建的cgroup。

-a <uid:gid> 指定允许管理 cgroup 和更改子系统参数的用户和组 ID

-g <subsystems:cgroup-path>

 

如:cgcreate -g memory:test_cgroup

 

7. 查看刚创建好的cgroup

cgsnapshot -s

 

8. 将刚创建好的cgroup在系统启动时自动挂载

通过cgcreate创建的cgroup会临时在系统中存在,可以通过cgsnapshot -s命令查看到,但新建的cgroup并没有保存,在系统重启时,自动消失了。

 

这里需要在配置文件中设置新的group,如:

 

mount {

        cpuset  = /cgroup/cpuset;

        cpu     = /cgroup/cpu;

        cpuacct = /cgroup/cpuacct;

        memory  = /cgroup/memory;

        devices = /cgroup/devices;

        freezer = /cgroup/freezer;

        net_cls = /cgroup/net_cls;

        blkio   = /cgroup/blkio;

}

 

group test_cgroup {

        perm {

                admin {

                        uid = endeca_admin;

                        gid = root;

                }

                task {

                        uid = root;

                        gid = root;

                }

        }

        memory {

                memory.memsw.failcnt="0";

                memory.memsw.limit_in_bytes="9223372036854775807";

                memory.memsw.max_usage_in_bytes="0";

                memory.move_charge_at_immigrate="0";

                memory.swappiness="60";

                memory.use_hierarchy="0";

                memory.failcnt="0";

                memory.soft_limit_in_bytes="9223372036854775807";

                memory.limit_in_bytes="9223372036854775807";

                memory.max_usage_in_bytes="0";

        }

}          


                                                       
Linux Cgroup学习笔记 介绍了linux cgroup v1/v2 cpu/memory/io/pid等子系统接口文件的功能 阅读详情

相关推荐

容器管理中关于CGroup的那些事

容器中关于CGroup的实战

低调,谦虚,自律,反思,成长,保持热爱,奔赴梦想 856

Control Groups (Cgroups)-详解

提供了一个新的内核特性:(Cgroups),它为内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。包括如下子系统:blkio--这个子系统为块设备设定输入/输出限制,比如物理设备(磁盘,固态硬盘,USB 等等)。cpu--这个子系统使用调度程序提供对 CPU 的 cgroup 任务访问。cpuacct--这个子系统自动生成 cgroup 中任务所使用的 CPU 报告。

太极淘的博客 2411

安装(k8s)kubernetes+docker集群+kuboard

首先1.配置所有服务器基础环境 防火墙设置 yum国内源设置 一些必须工具 jdk java开发 lrzsz 上传下载 wget 网络下载 telnet 网络相关 bind* 网络相关 net-tools 网络相关 nscd dns相关 docker 容器相关 docker阿里镜像源 # 防火墙设置 systemctl stop firewalld systemctl disable firewalld # wget,没有则安装 yum list wget y

qq_27246521的博客 560

【零基础教程】HEC-RAS 1D/2D全流程模拟指南|从水动力到水质建模一次搞定!

HEC-RAS由美国陆军工程兵团水文研究中心研制,具有完整的一二维耦合的水动力及水环境模拟功能,也具有闸、涵洞、桥梁以及泵站等水利构筑物的模拟能力;同时也可以与HEC研制的水文模型(HMS)、洪水淹没风险和损失分析软件(FDA)等耦合,是免费软件中使用最方便、应用最广泛的软件之一。2.HEC-RAS与HEC-HMS的耦合(不详细讲HEC-HMS)3.淹没风险分析软件HEC-FDA与HEC-RAS耦合。案例十八:HEC-RAS与HEC-HMS的耦合。案例十九:HEC-RAS与HEC-FDA的耦合。

weixin_48230888的博客 873

arcgis导出自身相交数据

今天接到一个客户需求,一份面文件,里面有好多元素是两两相交甚至是三个相交的,现在要把这些重叠部分提取出来,并且把相交部分的原始要素的名称也保留在字段中,也就是说名称这个会有好多个名称字段,如果两个要素相交那就是前两个名称字段有值,后面的为空,如果是三个要素相交,那么输出的这个要素就是前三个名称字段有值,后面的为空,嗯,这里也不太确定会出现多少个名称字段,这个需要依照数据来定。 这是原始数据,...

miaowumi92的博客 6789

Linux下CGroup进行CPU内存等资源控制

留存 from: http://www.cnblogs.com/kevingrace/p/5685433.html  and  http://www.cnblogs.com/wang_yb/p/3942208.html CGroup 介绍 CGroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组 (process groups)

lbyyy的专栏 8816

地图自定义编码CSV转换成ini文件

创 建 schema.ini 文件:有时,当您尝试使用 .csv 文件将自定义地理信息导入 Tableau 时,您可能会看到“无法使用.csv,因为它不包含唯一列”错误消息。这是因为您的 .csv 文件可能包含数值数据,例如数值邮政编码。对于新的地理角色,Tableau 将只接受文本字段。但是,您可以创建一个 schema.ini 文件,以指示 Tableau 应将您要导入的数值字段视为文本字段。...

wenyusuran的专栏 1975

linux上cgconfig服务,linux系统调优-Cgroups

一.cgconfig 设计限制策略Cgroups这个是被cgconfig服务所控制的。如果此服务没有启动,在根目录下的cgroup文件夹里就不会存在内容。1.安装cgroupyum install libcgroup2.# /etc/init.d/cgconfig status 查看cgroup的状态,如果没有启动,则不会有/cgroup目录3.# /etc/init.d/cgconfig st...

weixin_39805180的博客 1139

看28377代码笔记

使用的是20MHz外部晶振,为取200MHz系统时钟,倍频设为20,分频设为2,这样sysclock = 20MHz * 20 / 2,正好200MHz。注意:SPISTE配置成普通的GPIO端口,是为了更好控制芯片,配置芯片的时序。FMULT_0:小数点位数,小数只能有0,0.25,0.5,0.75四个选择。XTAL_OSC:表示使用外部晶振。GPIO_MUX_CPU1:复用类型。GPIO_MUX_CPU1:复用类型。PLLCLK_BY_2:表示2分频。IMULT_20:表示倍频数。

小柚子的博客 807

Oracle EBS与SAP数据数据切换至迁移华为MetaERP分析

Oracle EBS到华为MetaERP的数据迁移可采用“表对表复制”思路,因其模块化设计下数据模型标准化、边界清晰。核心业务对象存储在结构明确的主表中,与MetaERP模型兼容度高,便于直接映射。而SAP到MetaERP的迁移则因SAP高度优化的复杂表结构(如簇表/池表)、数据分散冗余、深度依赖配置等特点,无法简单复制,必须采用基于业务对象的迁移方法,通过视图/BAPI提取数据并进行深度转换。两种迁移的本质差异源于源系统的数据模型设计理念不同。

金牌架构师 1379

cgroup实践-资源控制

1、Cgroup安装安装Cgroups需要libcap-devel和libcgroup两个相关的包2、Cgroup挂载配置3、常用的Cgroup相关命令和配置文件4、libcgroup Man Page简介。

lbaihao的专栏 1661

置顶必读(1) |《滚雪球学SpringBoot 3.x》· 高质量专栏介绍,你值得拥有!

《滚雪球学SpringBoot 3.x》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。

**My Coding Family** 12万+

linux内核是否支持cgroup,如何确认linux内核已经开启cgroup和namespace功能

满意答案hhl1172016.09.11采纳率:44%等级:10已帮助:1173人Cgroup和Namespace在测试中的使用(上)很多时候需要测试程序在资源受限情况下的表现,普通的做法可能是不断对系统加压使能够分配给目标程序的资源变少,换另一个思路思考,可以尝试限制分配给目标程序的资源总数,使得机器状态健康的情况下让程序资源使用达到饱和。作为一个正在做着容器项目的人,知道容器技术是依靠...

weixin_39553600的博客 2190

基于CANopen协议,实现机器人500-1000Hz高频控制(附实操实例) (1)

基于CANopen协议实现机器人500-1000Hz高频控制,核心不是“协议本身的性能极限”,而是“通过优化配置、硬件适配、软件调优,最大化发挥协议的实时性优势”。关键在于:以PDO为核心实现实时数据传输,以SYNC帧锁定高频同步周期,以精简冗余、优化硬件降低总线负载,同时通过实操调试解决周期漂移、延迟、干扰等问题。

start_up_go的博客 93

从传统业务到 AI Skill:产品经理也能看懂的能力改造指南(含完整案例)

从传统业务到 AI Skill:产品经理也能看懂的能力改造指南(含完整案例)

专注于编程、AI、人工智能等多个领域内容研究和分析 641

资源隔离-cgroup

安装安装yum -y install libcgroup-tools.x86_64 yum -y install numactlnumactl是用来看cpu的numa内存的 启动systemctl status cgconfig.service systemctl start cgconfig.service启动后的默认挂载位置:[root@c2 cgroup]# lssubsys -am cpu

micklf的博客 2097

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

kubenate docker cgroup 文件解析

kubenate docker cgroup 文件解析 cgroup基础目录:cd /sys/fs/cgroup/ dr-xr-xr-x 7 root root 0 Jul 2 15:03 blkio lrwxrwxrwx 1 root root 11 Jul 1 12:4...

chuxiong5717的博客 220

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

容器的底层实现与linux

1 linux进程组概念 进程组顾名思义,即是多个进程的集合。linux系统中每一个进程都属于一个进程组,每一个进程组都有唯一的一个进程组标识号。 1.当任意父进程调用fork()函数生成子进程时,子进程和父进程同属于一个进程组 2.每一个进程组都有一个组长进程,组长进程负责与其他进程组交换数据,但组长进程消亡,进程组并不会消失。 3.直到进程组中最后一个进程死亡,进程组也随之死亡。 1.1 ge...

z530234020的博客 383

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

pidman基础续

pidman基础续

退!退!的博客 245

kubernetes 基础 -- 1.1 使用 kubeadm 安装 kubernetes

Kubernetes 安装Kubernetes 安装系统基础配置kubernetes 组件安装kubeadm 安装集群 Kubernetes 安装 安装方式:kubeadm 操作系统:centos 7.7 版本:1.22.3 节点数量:2 (1 个 Master,1 个 Worker) IP: master:1.2.3.215,worker: 系统基础配置 关闭防火墙 $ systemctl disable firewalld $ systemctl stop firewalld 关闭 selinux 修

mr1jie的博客 666

10个Tunasync配置技巧:从基础到高级应用

Tunasync 是一款强大的镜像作业管理工具,能够帮助用户轻松配置和管理各种镜像同步任务。本文将分享10个实用的 Tunasync 配置技巧,从基础设置到高级应用,助你高效管理镜像同步工作。 ## 1. 快速上手:基础配置文件设置 开始使用 Tunasync 前,首先需要配置 worker 和 manager。编辑 `~/tunasync_demo/worker.conf` 文件,设置基本信

gitblog_00442的博客 773

实现容器的底层技术 - 每天5分钟玩转 Docker 容器技术(30)

为了更好地理解容器的特性,本节我们将讨论容器的底层实现技术。cgroup 和 namespace 是最重要的两种技术。cgroup 实现资源限额, namespace 实现资源隔离。cgroupcgroup 全称 Control Group。Linux 操作系统通过 cgroup 可以设置进程使用 CPU、内存 和 IO 资源的限额。相信你已经猜到了:前面我们看到的--cpu...

weixin_34116110的博客 65

kubernetes安装

kubernetes安装过程 1.docker安装 切换阿里的镜像源,下载速度更快 wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo 查看当前镜像源中docker版本 yum list docker-ce --showduplicates 安装特定版本的docker-ce,若不配置–setopt=obseletes=0则默认安装最新版本 yum i

zhangzaizhi的博客 410

Cgroup概述

一、Cgroup的目的 Cgroup和namespa类似,也是将进程进程分组,但是目的与namespace不一样,namespace是为了隔离进程组之前的资源,而Cgroup是为了对一组进程进行统一的资源监控和限制。 二、为什么需要Cgroup 在Linux里,对进程进程分组,比如Session group、process group等,后来需要追踪一组进程的内存和IO使用情况,出现了cgroup,用来统一对进程进行分组,并在分组的基础上对进程进程监控和资源控制管理等。 三、...

GaoChuang_的博客 1万+

Rocky Linux 9.4 搭建k8s-1.28.0 + docker一主多从集群测试环境

集群各节点资源规划分配。

2502_92562214的博客 1070
上一篇: CentOS 6.4上安装金山wps错误wps Requires: libstdc++.so.6(GLIBCXX_3.4.14)解决办法
下一篇: Hadoop开发之一:集群实验环境搭建
Topurce
博客等级 码龄16年 13粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值