【博客615】通过systemd设置cgroup来限制服务资源争抢

news/2024/11/24 1:59:22/

通过systemd设置cgroup来限制服务资源争抢

1、场景

我们的宿主机上通常会用systemctl来管理一些agent服务,此时我们需要限制服务的cpu,memory等资源用量,以防止服务之前互相争抢资源,导致某些核心agent运行异常

2、systemd与cgroup

Systemd 依赖 cgroups:

先区分 cgroups 的两个方面:层级结构(A)和资源控制(B)。首先 cgroups 是以层级结构组织并标识进程的一种方式,同时它也是在该层级结构上执行资源限制的一种方式。我们简单的把 cgroups 的层级结构称为 A,把 cgrpups 的资源控制能力称为 B。
对于 systemd 来说,A 是必须的,如果没有 A,systemd 将不能很好的工作。而 B 则是可选的,如果你不需要对资源进行控制,那么在编译 Linux 内核时完全可以去掉 B 相关的编译选项。

Systemd 默认挂载的 cgroups 系统:

在系统的开机阶段,systemd 会把支持的 controllers (subsystem 子系统)挂载到默认的 /sys/fs/cgroup/ 目录下面:在这里插入图片描述

除了 systemd 目录外,其它目录都是对应的 subsystem。
/sys/fs/cgroup/systemd 目录是 systemd 维护的自己使用的非 subsystem 的 cgroups 层级结构。这玩意儿是 systemd 自己使用的,换句话说就是,并不允许其它的程序动这个目录下的内容。其实 /sys/fs/cgroup/systemd 目录对应的 cgroups 层级结构就是 systemd 用来使用 cgoups 中 feature A 的。

3、通过systemd为服务设置cgroup限制

有两种方法可以对配置了systemd的程序进行资源隔离:

  • 命令行修改:通过执行systemctl set-property命令实现,形式为:

    systemctl set-property name parameter=value;修改默认即时生效

  • 手工修改文件:直接编辑程序的systemd unit file文件,然后重刷配置:

    再执行systemctl daemon-reload更新配置,并重启服务systemctl restart name.service

systemd unit file里支持的资源隔离配置项,如常见的:

  • CPUQuota=value
    该参数表示服务可以获取的最大CPU时间,value为百分数形式,高于100%表示可使用1核以上的CPU。与cgroup cpu控制器cpu.cfs_quota_us配置项对应。

  • MemoryLimit=value
    该参数表示服务可以使用的最大内存量,value可以使用K, M, G, T等后缀表示值的大小。与cgroup memory控制器memory.limit_in_bytes配置项对应。

4、systemd-cgtop 命令显示 cgoups 的实时资源消耗情况:

在这里插入图片描述


http://www.ppmy.cn/news/534452.html

相关文章

【LeetCode-SQL】615. 平均工资:部门与公司比较

一、题目 给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果 (高 / 低 / 相同)。 表: salary | id | employee_id | amount | pay_date | |----|---…

615_AUTOSAR_RS_Features阅读_操作系统部分

全部学习汇总: https://github.com/GreyZhang/hack_autosar 继续看《AUTOSAR_RS_Features》,这份文档一共86页,应该可以在3天以内看完。今天是第二天了,看一下我算是有一点熟悉的操作系统。 需要兼容OSEK,主要的考量应…

【学习笔记】广和通4G模块-MC615学习笔记

目录: 1.简介1.1 网络制式1.2 传输速率1.3操作系统 2. 硬件介绍2.1 控制信号2.2 开关机 3.开发方式3.1固件定制部分3.1.2多路复用3.1.3工作模式3.1.4LPG指示灯 3.2AT方案3.2.1一些常用AT指令3.2.2 升级方案3.2.3 休眠方案前置条件 3.2.4 休眠方式3.2.5 唤醒3.2.6上报…

[晕事]今天做了件晕事14,查单词charp

从内核模块的代码里看到一个单词charp,去尝试查单词,发现了一个 Charp impact value 【机】 夏比冲击值 这个直接是音译,肯定不是想要的, 后来使用bing搜索引擎,里面有一个链接: 这个网页真是很有迷惑性&am…

适用于平坦草原的近地层以上风廓线推算方法

目录 引言1 数据观测和处理1.1 观测实验和仪器1.2 数据处理 引言 本文研究平坦草原近地层之上的风廓线特征,尤其是不同稳定度情况下风随高度的变化;得到适用于本地的粗糙度、边界层高度和地转风的估测方法。 在上述研究的基础上,本文用上述…

手机空间清理

apt-get autoclean cd /var/cache/apt/archives rm -rf ./* log下文件,删掉无用的安装包等工作后发现手机空间还是不够。 find / -xdev -size 100M -exec ls -l {} \; 可以查询大于100M的大文件,然后可以从返回值里面找到大文件所在目录,发…

qq空间显示手机型号android,qq发表说说怎么显示手机型号?手机QQ空间如何自定义手机型号?...

最近小编用手机发表说说,小编细心的朋友发现,我的每一条说说下面都可以显示手机型号且还可以显示自己自定义手机型号,于是她就问小编:qq发表说说怎么显示手机型号?手机QQ空间如何自定义手机型号?其实&#…

android 实现QQ好友分享和QQ空间分享

1.下载官方的数据包 http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 下载SDK包,如下: 2.导入SDK包: 解压Android_SDK_V2.6 ,把open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到libs(或lib)目…