为什么我的 CPU 限制无法通过 cgroups 验证

为什么我的 CPU 限制无法通过 cgroups 验证

/etc/cgconfig.conf

...

group memlimit {
    memory {
        memory.limit_in_bytes = 8589934592;
    }
}

group cpulimit {
    cpu {
        cpu.shares = 1024;
    }
}

/etc/cgrules.conf:

@gatewayer  memory  memlimit/
@gatewayer  cpu cpulimit/

我已经通过命令重新启动了服务:

service cgconfig restart
service cgred restart

当我从属于 group 的用户执行我的 python 脚本后gatewayer,我可以在执行时看到 PID cat /cgroup/memory/memlimit/cgroup.procs,并且限制已应用于正在运行的进程。但是,对 cpu 的限制不会生效,并且cat /cgroup/cpu/cpulimit/cgroup.procs不会按预期打印 PID。

我尝试检查该进程,结果是相同的结果,内存受 cgroup 限制,而 cpu 则不受限制:

$ cat /proc/18113/cgroup 
174:blkio:/
173:net_cls:/
172:freezer:/
171:devices:/
170:memory:/memlimit
169:cpuacct:/
168:cpu:/
167:cpuset:/

有人可以给我一些帮助吗?非常感谢。

相关内容