首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cpu.cfs_quota_us和cpu.cfs_period_us限制CPU的使用

使用cpu.cfs_quota_us和cpu.cfs_period_us限制CPU的使用
EN

Unix & Linux用户
提问于 2016-03-22 11:08:53
回答 1查看 4.7K关注 0票数 3

在一个系统中有32个核心(每个cpus有16个核心),我想限制用户只使用4个核心(对这4个核心100%的使用)。根据手册,有两个内核参数:cpu.cfs_quota_uscpu.cfs_period_us

kernel.org 文档的一个例子是:

代码语言:javascript
复制
   With 500ms period and 1000ms quota, the group
   can get 2 CPUs worth of runtime every 500ms.
   # echo 1000000 > cpu.cfs_quota_us /* quota = 1000ms */
   # echo 500000 > cpu.cfs_period_us /* period = 500ms */

我想知道那些ms是如何决定的?就我而言,我认为配额是32000000,期限是4000000。我说的对吗?etc/cgconfig.conf的内容如下:

代码语言:javascript
复制
group ansys {
  cpu {
    cpu.cfs_quota_us = 32000000;
    cpu.cfs_period_us = 4000000;
  }
  memory {
    memory.limit_in_bytes = 8000m;
  }
}

但这不管用!当我运行/etc.init.d.cgconfig start时,我得到一个错误,我得到这个错误:

代码语言:javascript
复制
Failed to parse /etc/cgconfig.conf or /etc/cgconfig.d
[FAILED]Starting cgconfig service: /sbin/cgconfigparser; error loading
/etc/cgconfig.conf: Failed to remove a non-empty group
EN

回答 1

Unix & Linux用户

发布于 2016-09-06 10:48:10

查看cpuset cgroup/容器参数。它允许您将容器引脚到特定的cpu核心。在您的示例中,您只能将单个容器指定为核心0-3,并且不让其他容器在同一核心上执行,方法是允许每个容器具有100%的利用率的4个核心。

此外,与cpu (使用共享/配额)相比,cpuset是一种更有效的分发机制。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/271443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档