您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

技术分享 | 使用 systemd 修改资源隔离配置

时间:2020-07-17 15:07:51  来源:  作者:

作者:晏泽爱可生售后团队成员,主要负责公司数据库运维产品问题诊断;努力在数据库和 IT 领域里摸爬滚打中。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


本文关键字:linux、systemd、资源隔离

一,修改systemd unit file

为了给程序配置资源隔离,通常我们会到cgroup层级树下的控制器里,创建或者修改控制组文件。在Linux7中,如果为程序配置了systemd服务,除了直接修改控制组文件之外,还可以通过systemd相关命令对程序的资源隔离配置进行修改。

1.1 修改方法

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

  1. 命令行修改:通过执行systemctl set-property命令实现,形式为systemctl set-property name parameter=value;修改默认即时生效
  2. 手工修改文件:直接编辑程序的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配置项对应。完整的配置项列表,请参考官方文档:2.3.2. Modifying Unit Files

1.2 试验说明

MySQL CPU资源管理为例。

环境信息:

  • 系统版本:centos Linux release 7.5.1804 (Core)
  • CPU配置:4核CPU
技术分享 | 使用 systemd 修改资源隔离配置

 

当资源限制为1核CPU时(CPUQuota=100%):

技术分享 | 使用 systemd 修改资源隔离配置

 

修改CPU资源配置为:2核(CPUQuota=200%)

技术分享 | 使用 systemd 修改资源隔离配置

 

再次测试,可以看到数据库在写入数据的过程中,%CPU的值固定在200%左右。

技术分享 | 使用 systemd 修改资源隔离配置

 

二,简要原理说明

系统资源在cgroup里体现为资源控制器(resource controller/cgroup subsystem);每个controller以层级目录结构的方式对系统资源进行管理。systemd在系统开机时,默认自动将cpu、blkio、memory等控制器挂载到/sys/fs/cgroup路径下。

systemd使用以下三种类型的unit来进行资源管理:

  • service:A system service
  • slice:A group of hierarchically organized units that manage system process
  • scope:An externally created process

其中scope类型只能由程序自动创建;其他两种可程序自动创建,也可手动创建。系统在启动的时候将默认创建一系列运行时必要的service,同时也会创建四种必要的slice:

  • -.slice — the root slice;
  • system.slice — the default place for all system services;
  • user.slice — the default place for all user sessions;
  • machine.slice — the default place for all virtual machines and Linux containers.

基于此,在Linux 7中,系统通过绑定程序的systemd层级树路径和cgroup资源控制器路径实现资源隔离(可使用命令systemd-cgls直观查看,见下文图片),具体表现为:

  1. 将service unit、scope unit或者slice unit在systemd层级树里的路径,与对应的cgroup资源控制器路径进行匹配
  2. unit file里有对应资源管理配置参数,直接作用于cgroup对应的资源控制器

因此,通过修改程序的systemd unit file里与资源管理相关的参数,即可达到资源隔离配置的目的。

技术分享 | 使用 systemd 修改资源隔离配置

 



Tags:技术分享   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言最近对 WebRTC iOS 端源码进行了下载和编译,网上针对 WebRTC iOS 端的编译文章基本都是几年前的,有些地方已经不适用于最新版的 WebRTC 的编译,简单记录下载&编译的过程,以...【详细内容】
2021-11-10  Tags: 技术分享  点击:(38)  评论:(0)  加入收藏
源代码地址:( https://github.com/anyRTC-UseCase/VideoLive) 需求两种显示方式: 主播全屏,其他游客悬浮在右侧。下面简称大小屏模式。 所有人等分屏幕。下面简称等分模式。 ...【详细内容】
2021-08-18  Tags: 技术分享  点击:(67)  评论:(0)  加入收藏
仅就从性能部分的错误诊断比较区别,之前见国外有相关文章,我做简单分享,但是,如果要了解区别,无妨从下文中包含的gcc和msvc阅读了解一下。GCC和Clang一直在彼此较劲尝试证明谁的...【详细内容】
2021-03-22  Tags: 技术分享  点击:(618)  评论:(0)  加入收藏
法律免责声明未经事先相互同意,使用Httrack攻击目标是非法的。遵守所有适用的地方国家法律是最终用户的责任。作者本人对此不承担任何责任,也不对任何滥用的非法行为负责。Htt...【详细内容】
2021-02-07  Tags: 技术分享  点击:(726)  评论:(0)  加入收藏
本文由手机淘宝技术团队原创分享,吴志华(天施)、洪海(孤星)、陈虓将(仲升)等专家参与了本文创作,首次发表于公众号“淘系技术”,收录整理时有修订和改动。1、引言移动端网络的优化是...【详细内容】
2020-08-19  Tags: 技术分享  点击:(73)  评论:(0)  加入收藏
通过敏捷快速实践 QUIC ,网易新闻在3个月内,将端内 QUIC 请求占比提升到 75%+,如 图1 所示,并将客户端请求平均响应时间 RT 降低了 45%,请求错误率降低了 50%+,视频卡顿率降低了 2...【详细内容】
2020-08-17  Tags: 技术分享  点击:(770)  评论:(0)  加入收藏
利用手机中tertermux,msf和badusb几秒钟黑掉一台电脑提醒:平时不要在电脑上插入陌生的u盘准备工具:1.badusb硬件 2.一台手机安装termux3.一台服务器安装msf4.cobaltstrike软件,a...【详细内容】
2020-07-29  Tags: 技术分享  点击:(129)  评论:(0)  加入收藏
1. 概述我们曾分享过《基于 GoogleMap 离线API在内网中加载离线卫星地图的方法》一文,在该文中我们分享了将GoogleMap离线API源码部署到本地的方法。那么这个GoogleMap离线AP...【详细内容】
2020-07-21  Tags: 技术分享  点击:(114)  评论:(0)  加入收藏
作者:晏泽爱可生售后团队成员,主要负责公司数据库运维产品问题诊断;努力在数据库和 IT 领域里摸爬滚打中。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使...【详细内容】
2020-07-17  Tags: 技术分享  点击:(77)  评论:(0)  加入收藏
作者:赵黎明爱可生 MySQL DBA 团队成员,Oracle 10g OCM,MySQL 5.7 OCP,擅长数据库性能问题诊断、事务与锁问题的分析等,负责处理客户 MySQL 及我司自研 DMP 平台日常运维中的问...【详细内容】
2020-07-16  Tags: 技术分享  点击:(65)  评论:(0)  加入收藏
▌简易百科推荐
我 2010 年开始在 Github 上开源自己的代码。在 push 代码之前我根本没想过为什么。只是因为我当时学了 git,而且我又觉得 Github 很方便,可以用来备份自己的代码。而后我就参...【详细内容】
2021-12-28  程序员的喵    Tags:Github   点击:(2)  评论:(0)  加入收藏
JAVA开发工程师(北京)本科 3-5年经验 面议 (招1人)岗位职责:1.负责我行应用系统的设计,完成软件编码工作,负责管理代码设计规范等工作;2.根据应用需求分析说明书,评估需求研发的可行...【详细内容】
2021-12-27  just do丶IT公众号    Tags:国企   点击:(2)  评论:(0)  加入收藏
今天聊聊编程的本质。程序就是数据结构+控制+逻辑,程序员编程工作的本质是翻译,翻译机要来了,程序员怎么办?黑客帝国中的程序黑客帝国4就要上映了,不知道前三部你看懂了么?值得多...【详细内容】
2021-12-17  博士聊IT    Tags:程序员   点击:(9)  评论:(0)  加入收藏
梦醒之后,每个人对于这份职业的未来、互联网行业的未来,以及更重要的,自己的未来都有了更现实的判断 文 | 祝颖丽编辑 | 黄俊杰一个生于 1986 年的人,他所走过的前半生:从出生起,...【详细内容】
2021-12-03    财经杂志  Tags:程序员   点击:(16)  评论:(0)  加入收藏
前些天在头条看到一个八二年的哥们,述说自己找工作屡次被拒的问题,在网上引起了广泛的讨论,这件事给我留下了很深的印象,因为这哥们和我同是程序员,都人到中年,上有老下有小。唯一...【详细内容】
2021-12-01  云南贤哥在深圳    Tags:程序员   点击:(20)  评论:(0)  加入收藏
很多读者都问过一个问题:程序员如何实现高速成长?之前也写过相关的文章,强调的主要是夯实计算机体系基础知识。 再说另一个诀窍:多看经典开源项目,这些项目大多是众多顶尖程序员...【详细内容】
2021-11-30  findyi    Tags:程序员   点击:(15)  评论:(0)  加入收藏
近日,一位45岁的网民在中国政府网留言求职,引发关注。该网民自称是一名软件开发人员,今年45岁,精通各种技术体系,“而我辞职回家半年后再回来寻找工作机会的时候,却发现连个面试...【详细内容】
2021-11-17  郭主任    Tags:程序员   点击:(42)  评论:(0)  加入收藏
即使在安全技术取得进步之后,网络犯罪仍在不断增加。据统计,网络犯罪每分钟给企业造成约 290 万美元的损失。主要是因为新技术不断涌现,难以维护安全。随着网络威胁的增加,网络...【详细内容】
2021-11-04  章大千    Tags:编程语言   点击:(40)  评论:(0)  加入收藏
北漂小伙李强(化名),在北京互联网大厂工作7年,月薪3万,离职回老家开摄影店,亏了200万。李强出生于山西一座名不经传的小城市,互联网专业大学毕业的他,没有听父母的劝言回到家乡考公...【详细内容】
2021-10-29  霸王课  今日头条  Tags:程序员   点击:(53)  评论:(0)  加入收藏
程序员是青春饭,这在国内似乎是公认的。所以很多公司不愿招大龄程序员,很多程序员也“知趣”地及早转型。有的做管理,有的做架构,我还见过改行卖保险的。总之,年龄大了不想敲代码...【详细内容】
2021-10-27  编程的艺术    Tags:   点击:(30)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条