当前位置:首页 > 日记 > 正文

用cgroups限制CPU资源的情况下在Linux

用cgroups限制CPU资源的情况下在Linux
点评:本文主要介绍了利用Linux cgroups限制CPU资源的例子,可以避免占用CPU资源的过程,和一个朋友可以参考一下。
这一次说的是如何通过C组管理CPU资源。首先,控制进程的CPU使用,运行多个程序可能会消耗大量的机器资源,我们不希望一个程序占用了所有的资源,导致其他程序无法正常运行,甚至造成系统不能维持假死。此时,C组的使用控制过程中所占用的资源可以很好的。这是一个单一的CPU资源。

在C组,cpu.cfs_period_us和cpu.cfs_quota_us可以用来限制,该组中的所有过程都可以用单位时间内的CPU时间。这里的CFS是完全公平的scheduler.cpu.cfs_period_us简称为时间段,默认是100000,即100 milliseconds.cpu.cfs_quota_us是CPU时间,可以在这期间使用,默认的1,那是无限的。

运行CPU消耗程序

复制代码代码如下所示:
echo'while真实:通过| Python #
{ 1 } 1532
上面可以看到这个过程占CPU的100%。

复制代码代码如下所示:
PID用户Pr-Ni VIRT RES SHR的CPU时间为MEM +命令
1532根200 36841708 99.6 0.7 30.42 112m 0: Python


然后对过程做一些限制。

复制代码代码如下所示:
回声50000 > / / / C FS系统 / / / cpu.cfs_quota_us foo的CPU
回声1532
可以看出,改性,只需编写相应的文件,和过程中添加过程中C组只需写在它的任务文件PID。这里的cpu.cfs_quota_us设置为50000,与100000的cpu.cfs_period_us,或50%。上再次看到影响。

复制代码代码如下所示:
PID用户Pr-Ni VIRT RES SHR的CPU时间为MEM +命令
1532根200 36841708 50.2 0.7 0.31 112m R 5 Python


你可以看到,这个过程的CPU占用已经成功地限制在50%。在这里,测试虚拟机只有一个核心,在多核的情况下,这些值将是不同的。此外,cfs_quota_us也可以大于cfs_period_us,主要是多核的情况下,当N个芯,在对照组中能够使用最n倍的CPU时间。

这两个值在C组水平有限,以及资源的低水平不应超过上限水平。特别是,较低层的cpu.cfs_period_us值不能小于上层的cpu.cfs_quota_us值不能大于上层。

另一组cpu.rt_period_us和cpu.rt_runtime_us对应的实时过程的限制,就不能用在平时。

在CPU子系统,cpu.stat是在以前的way.nr_periods和nr_throttled做资源约束条件下的统计周期,通过和限制cycles.throttled_time控制组采用的总的CPU时间。

还有一个cpu.shares,它也被用来限制CPU的使用。但来自cpu.cfs_quota_us和cpu.cfs_period_us.cpu.shares完全不同,没有限制的过程绝对能用的CPU时间,但控制之间的groups.such的配额

复制代码代码如下所示:
/ /:1024 cpu.shares CPU
/ / / cpu.shares CPU一样:2048
所以在两组的过程是满负荷,在 / foo CPU可以 /占用两倍的过程。如果建设 / /酒吧cpu.shares foo也是1024,有一个满负荷运行的过程中,那 / / Foo / /酒吧1:2: foo是一是说CPU占用率是他们每个人都是满的。如果在其他控制组的过程是空闲的,一个组的过程可以完全充分的CPU。可以看出,在一般情况下,这种方法可以利用的资源公平的情况下更充分。

此外,你还可以限制CPU核心可以用一个过程的。CpuSet子系统是CPU核心和内存节点的处理过程可以使用,以及其他一些相关的配置,这部分的配置是numa.cpuset.cpus和cpuset.mems相关是用来限制CPU核心和内存节点可以通过使用过程。在这两个参数,CPU内核和内存节点表示身份,与分离。例如,0,1,训练也可以使用- 表示范围,如0-3.the两可组合使用。如;0-2,6,7。在加入过程中,cpuset.cpus和cpuset.mems必须设置在同一时间,而且必须是兼容的,否则将一件对的事的例子

复制代码代码如下所示:
#回声0 > /系统/ FS / / / C CpuSet foo / cpuset.cpus
#回声0 > /系统/ FS / / / C CpuSet foo / cpuset.mems

这样,在 / Foo的过程中只能使用CPU0和存储节点0.use

复制代码代码如下所示:
#猫 / / /触发状态| grep '_allowed_list
可以验证效果。

除了限制资源的使用,C组具有资源统计功能。它可用于云计算的会计。有一个cpuacct子系统,是专门用来做CPU资源statistics.cpuacct.stat统计在对照组中用户态和内核态的CPU使用率,单位是user_hz,那是,jiffies和CPU蜱,蜱每秒数可以由getconf clk_tck,得到的通常是100。你看,除以这个值可以被转换成一个二。

cpuacct.usage和cpuacct.usage_percpu是对照组的过程中所消耗的CPU时间,单位是秒。后者又分为CPU统计。

P.S. 2014-4-22

发现在SLES 11 SP2,SP3,相应的内核版本3.0.13和3.0.76,PID写入CPU子系统cgroup.procs,它将不能有效地工作,而且必须写入任务。在其他环境中,无论是高或低版本的内核版本已经发现。

相关文章

USB/U盘文件乱码修复乱码文件(方案)

USB/U盘文件乱码修复乱码文件(方案)

文件,方案,乱码,电脑软件,USB,问题: 最近,一些信息变得一团糟。认为是中毒,用杀毒软件清除毒,也没有呈现病毒,这是什么情况 答案uff1a U盘中毒的乱码文件引起的。如果你没有病毒,可能是文件分配表。U盘U盘,造成这种情况,原因如下: 1、平时不要插U…

Oracle的日期函数

Oracle的日期函数

日期函数,电脑软件,Oracle,您正在查看的Oracle过程是Oracle日期函数。 oracle中的日期有很多功能, 如: 1、(add_months)增加或减少月数的日期date_value值:= add_months(date_value,number_of_months):SQL >选择add_months(SYSDATE,12)从明年双;明年04 S…

PHP对象-访问修饰符的介绍

PHP对象-访问修饰符的介绍

访问修饰符,对象,电脑软件,PHP,PHP中有三个访问修饰符,它们是: 公共(公共,默认) 受保护的(受保护的) 私人(私人) 它们可以分别用于类的属性和方法(类的属性和方法称为类的成员),并用于修改类成员的访问权限。 公共(公共,默认) 在PHP5中,如果类没有指定成…

服务器:无法确定服务器的完全合格的

服务器:无法确定服务器的完全合格的

服务器,合格,电脑软件,注释:在主机中丢失主机名 localhost.localdomain localhost 127.0.0.1的主机名 三个主机名可以更改为同一个 主机名丢失在 localhost.localdomain localhost 127.0.0.1的主机名 三个主机名可以更改为同一个…

wlancfg5.exe的过程是怎样的

wlancfg5.exe的过程是怎样的

的是,过程,是怎样,电脑软件,exe,评论:对wlancfg5.exe工艺简介 进程文件:wlancfg5或wlancfg5.exe 过程名称:网件智能配置模块 过程类别:安全风险的过程 英文描述: wlancfg5.exe是一个过程,属于网件智能配置模块和提供这些设备的额外的配置选项。…

使用谷歌DNS8.8.8.8会导致下载慢下

使用谷歌DNS8.8.8.8会导致下载慢下

下载,慢下来,电脑软件,在测试过程中,核心技术人员发现,如果用计算机的DNS服务由谷歌提供(8.8.8.8和8.8.4.4)作为系统默认的DNS服务器,下载速度会明显减慢。 通过对技术人员的分析,发现当使用谷歌DNS时,在多资源索引检索时,迅雷客户端返回了联通网络…

如何向朋友询问QQ空间音乐

如何向朋友询问QQ空间音乐

音乐,空间,朋友,电脑软件,QQ,如何向朋友询问QQ空间音乐 第一步:在音乐库中找到你喜欢的音乐,点击歌曲右边的音乐服务按钮; 第二步:请QQ好友(朋友/朋友单独),点击确认; 让路 礼品数量 使用时间长度 评论 免果岭费 1次 31 days 同一首歌已多…

shwiconem是shwiconem.exe-使用

shwiconem是shwiconem.exe-使用

电脑软件,shwiconem,exe,评论:详细的介绍了shwiconem.exe - shwiconem过程 进程文件:shwiconem或shwiconem.exe 过程名称:数字媒体USB读写器助手 过程类别:安全风险的过程 英文描述: shwiconem.exe是一个过程,安装在USB读卡器和数字媒体提供这…

Windows去Win8将被加载到U盘使用US

Windows去Win8将被加载到U盘使用US

加载,将被,环境,电脑软件,Windows,点评:使用Windows 8企业版的Windows上的功能,用户可以提供一个高速USB容量Win8环境,当USB插头的电脑可以使用PC的CPU和内存,不会影响电脑硬盘或数据 byod的(带上你自己的设备)的工作模式,是当前的一个发展趋势,但…

几种PHP使用Smarty的相关记录和访

几种PHP使用Smarty的相关记录和访

变量,几种,电脑软件,Smarty,PHP,三美元=新(Smarty); / /创建Smarty对象,我用smarty-3.1.6版 1。设置模板路径为TPL -> settemplatedir();默认情况下,模板 2。设置Smarty模板编译路径三美元-> setcompiledir();默认情况下,templates_c 三.设置左、右隔板…

对conhost.exe过程是怎样的Conhost

对conhost.exe过程是怎样的Conhost

是怎样,详解,过程,图文,电脑软件,评论:如果你使用微软的Vista或Win7系统,当你打开命令行cmd.exe窗口,你会发现在Windows任务管理器conhost.exe过程。随着越来越多的人开始使用Win7系统,谁不熟悉这个过程,用户想知道更多关于这个过程,那么什么是co…

手机QQ如何在QQ空间日志中显示泡泡

手机QQ如何在QQ空间日志中显示泡泡

显示,空间,日志,泡泡,如何在,手机QQ如何在QQ空间日志中显示泡泡 进入QQ空间,点击登录中的添加QQ显示泡泡;点击页面位置泡泡,就会选择泡泡,盒子周围有个泡泡,那么你就可以轻易拖动泡泡。…