小编And*_*rew的帖子

为什么 cpu.cfs_quota_us 不限制 LXC 容器的 CPU 带宽?

我想将容器限制为系统总 CPU 带宽的 25%。
这是我的设置:

  • LXC 版本 1.0.2
  • 内核 3.2.45
  • 一个用户为 LXC 容器创建了 cgroup (foo)
  • 主机上 40 个可用内核
  • 主机和容器对每个其他 cgroup 子系统都有默认值,除了:
  • /sys/fs/cgroup/cpu/lxc/foo/cpu.cfs_quota_us = 400000
  • /sys/fs/cgroup/cpu/lxc/foo/cpu.cfs_period_us = 100000
  • /sys/fs/cgroup/cpuset/lxc/foo/cpuset.cpus = 0-15

我使用这个公式计算了配额:

(# of cpus available to container) * (cpu.cfs_period_us) * (.25) so 16 * 100000 * .25 = 400000
Run Code Online (Sandbox Code Playgroud)

我同时在容器内部和外部运行了一个基本的stress-ng,以衡量每秒允许内部和外部的操作次数,结果与以“-1”的配额运行时基本相同,也就是说没有配额。

外跑:

$ ./stress-ng  --cpu-load 50 -c 40 --timeout 20s --metrics-brief
stress-ng: info: [25649] dispatching hogs: 40 cpu  
stress-ng: info: [25649] successful run completed in 20.44s  
stress-ng: info: [25649] stressor      bogo …
Run Code Online (Sandbox Code Playgroud)

linux cgroups lxc

5
推荐指数
1
解决办法
868
查看次数

标签 统计

cgroups ×1

linux ×1

lxc ×1