docker的资源控制:

2023-12-14 20:57:19

docker的资源控制:

对容器的使用宿主机的资源进行限制

cpu 内存 磁盘i/0

docker使用linux自带的功能cgroup

control grouos是linux内核系统提供的一种可以限制,记录,隔离进程所使用的物理资源

control grouos是linux内核系统提供的一种可以限制,记录,隔离进程组所使用的物流资源的机制

docker借助这个机制,来实现资源的控制、

cgroup 本身是提供讲进程分组化管理和接口的基础结果,分配控制的机制来实现资源控制

host:容器和宿主机公用一个网络命名空间

container容器和容器之间公用一个网络命令空间

其他的资源依然是隔离的、

1、cpu资源控制

Linux通过CFS(Completely Fair Scheduler 完全公平调度器),来调度各个进程对cpu的使用

CFS的调度100ms

我们也可以自定义容器的调度周期,已经在这个周期时间之内各个容器能够使用cpu的调度时间

--cpu-period 设置容器调度cpu的调度时间

--cpu-quota 设置在每个周期内,容器可以使用cpu的时间

可以配用使用

CFS周期的有效范围:1ms-1s --cpu-period 1000-1000000

容器使用cpu的配额时间必须,大于1ms, --cpu-quota的值,必须是>=1000

docker run -itd --name test1 centos:7 /bin/bash

cd /sys/fs/cgroup

cat cpu.cfs_quota_us

-1

如果配置是-1,那么容器在使用宿主机cpu的的时间不做任何限制

CFS调度的周期长度,微妙,在每个周期内,容器可以使用指定比例的cpu时间,默认情况都是100毫秒

CFS调度器;100毫秒就是定义了一个周期,在周期内,调度任务(容器)的基本时间单位

也就是100毫秒一次调度器请求cpu资源,然后把内核cpu资源给容器

cpu.cfs_quota_us :调度请求之后,根据配额,内核跟配给容器使用的cpu时间

vim cpu.sh

docker stats test1/if 可以容器的运行占用宿主机

docker ps -a

cd /sys/fs/cgroup/cpu

cd docker

cd id

文章来源:https://blog.csdn.net/m0_52416577/article/details/134927486
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。