目录
1. Cgroup
cgroup,是一个非常强大的linux内核工具,他不仅可以限制被namespace 隔离起来的资源,
还可以为资源设置权重、计算使用量、操控进程启停等等。所以cgroups/ (Control groups)实现了对资源的配额和度量。
2. Cgroup四种特性
-
资源限制:可以对任务使用的资源总额进行限制
-
优先级分配:通过分配的cpu时间片数量以及磁盘Io带宽大小,实际上相当于控制了任务运行优先级
-
资源统计:可以统计系统的资源使用量,如cpu时长,内存用量等
-
任务控制: cgroup可以对任务执行挂起、恢复等操作
3.控制CPU使用率
控制CPU几个命令
- --cpu-period 设置调度周期时间 1000~1000000
- --cpu-quota 设置容器进程的CPU占用时间,要与调度周期时间成正比
- --cpu-shares 设置多个容器之间的cpu资源占用比
- --cpuset-cpus 绑核(cpu编号从0开始)
3.1 通过文件控制cpu使用率
首先启动一个容器,镜像为centos7,命名为test1
启动成功之后进入/sys/fs/cgroup/cpu/docker/
该目录中存放各个容器的cpu管理文件,找到容器对应的id号,进入
进入之后修改period和quota文件