docker资源限制——cgroup
一、介绍
Docker通过cgoup来控制容器使用的资源配额,包括cpu、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。
cgroup是control groups的缩写,是Linux 内核提供的一个特性,用于限制和隔离一组进程对系统资源的使用。对不同资源的具体管理是由各个子系统分工完成的。
二、cpu资源控制
1.对cpu使用率控制
- linux通过CFS来调度各个进程对cpu的使用。CFS默认的调度周期是100ms。我们可以设置每个容器进程的调度周期,以及在这个周期内各个容器最多能使用多少cpu时间。
- 使用**–cpu-period即可设置调度周期,使用–cpu-quota**即可设置在每个周期内容器能使用的cpu时间。两者可以配合使用。
- 两者的单位为微秒。cpu-period的最小值为1000微妙,最大值为1秒,默认值为0.1秒。

cpu.cfs_period_us:cpu 分配的周期(微秒,默认为 100000)cpu.cfs_quota_us:表示该 cgroups 限制占用的时间(微秒),默认为 -1,表示不限制。如果设为 50000,表示占用 50000/100000=50% 的 CPU。
-
压力测试

本文详细介绍了Docker如何通过cgroup限制容器的CPU、内存和磁盘资源,包括设置CPU使用率、CPU份额、内存大小、磁盘IO配额,并提供了资源限制的多种方式和状态查询方法。
最低0.47元/天 解锁文章
824

被折叠的 条评论
为什么被折叠?



