linux - 使用 cgroup 将每个客户群的 CPU 使用率限制为 25%

标签 linux shell cpu-usage user-accounts cgroups

我想将用户的CPU使用率限制为仅25%。 为此,我使用 cgroup。

这是我正在遵循的指南: http://kaivanov.blogspot.in/2012/07/setting-up-linux-cgroups-control-groups.html

本指南适用于一核 cpu 机器,但当我使用 4 核 cpu 机器时,此配置不起作用。

这是我的配置:

 # Configuration file generated by cgsnapshot
mount { 
    cpu = /cgroup/cpu;  
}

group test1 {
    cpu {
        cpu.rt_period_us="1000000";
        cpu.rt_runtime_us="0";
        cpu.cfs_period_us="100000";
        cpu.cfs_quota_us="-1";
        cpu.shares="250";
    }
}

group test2 {
    cpu {
        cpu.rt_period_us="1000000";
        cpu.rt_runtime_us="0";
        cpu.cfs_period_us="100000";
        cpu.cfs_quota_us="-1";
        cpu.shares="500";
    }
}

我缺少什么?

提前致谢。

最佳答案

您共享的配置仅意味着 test2 将获得 test1 两倍的 cpu。份额是成比例的,它们不考虑机器大小。如果要对 cgroup 的使用量进行硬限制,则需要使用 cfs_period_us 和 cfs_quota_us。要使用计算机中 1 个核心的 CPU,请将 cfs_quota_us 设置为与 cfs_period_us (100000) 相同。

关于linux - 使用 cgroup 将每个客户群的 CPU 使用率限制为 25%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719109/

相关文章:

javascript - Starfield canvas程序占用CPU过多

linux - Bash getopts 中的多种组合

c++ - 当多个高优先级线程在多个内核上运行时,Linux 内核无响应

linux - Perf 输出奇怪的内存地址

python - 在 Python 中通过 `subprocess.run` 调用 g++ 导致可执行文件中的 "exec format error"

shell - shell脚本的find命令中的perl -ane是什么意思?

php - 100% CPU 使用率 : MySQL 2, 000,000 行并使用 LIKE 运算符进行查询

java - LD_PRELOAD 套接字函数 java

bash - 为什么${##parameter}总是返回0?

c++ - 使用 C++ 在 Windows 中检索 CPU 负载百分比总数