跳转至

什么是CFS配额

CFS(Completely Fair Scheduler)配额

CFS配额是Linux内核中完全公平调度器的一种资源控制机制,主要用于实现对进程或容器在CPU使用上的公平分配和限制。 在容器技术(如Docker、Kubernetes等)的环境中,CFS配额被用来确保每个容器可以得到其配置的CPU份额,并且不会无限制地占用CPU资源。

具体来说,CFS通过以下两个核心参数来实施配额:

cpu.cfs_period_us:定义了调度周期,即在多长时间内分配CPU时间给进程或容器。 cpu.cfs_quota_us:定义了在此周期内允许该进程或容器使用的最大CPU时间(用户态+内核态),单位为微秒。 当cpu.cfs_quota_us设置了一个非零值时,它就代表了在每个cpu.cfs_period_us时间段内,容器最多可以运行多少微秒的CPU时间。通过调整这两个参数的比例关系,可以有效地限制容器使用的CPU带宽(即CPU使用率)。

例如,如果cpu.cfs_quota_us设为100ms (100000 微秒),而cpu.cfs_period_us设为1s (1000000 微秒),那么这个容器就被限制在10%的CPU使用率上。