云计算——虚拟化技术容器资源限制(六)

Docker资源限制概念

1.1CGroup

在Docker的默认配置中是没有对容器做资源限制的,在容器发生异常的状况下有可能耗光宿主机所有资源导致OOM,OOM一旦发生任何进程都有可能被系统杀掉。所以在启动Docker容器时最好是指定CPU、内存、硬盘大小等硬件配额。Docker通过cgroup来控制这些资源配额,也就是说下面讲到的命令其实都是在配置cgroup。

比如调整了CPU的限制后,在/sys/fs/cgroup/cpu/docker/container_id/可以看到设置的值。cgroup分配的结果取决于当时主机和其他容器的运行状况,如果A容器很空闲,那么即使给它分配了更多份额,也会被其他忙碌的容器抢夺资源,是一种动态分配。设置好配额后可以在容器中用压力工具stress来测试。

云计算——虚拟化技术容器资源限制(六)_第1张图片

云计算——虚拟化技术容器资源限制(六)_第2张图片

1.2 Docker Cpu使用限制命令

云计算——虚拟化技术容器资源限制(六)_第3张图片

云计算——虚拟化技术容器资源限制(六)_第4张图片

云计算——虚拟化技术容器资源限制(六)_第5张图片

docker run -itd -m 1024m --memoery-swap=1524m --oom-kill-disable docker.io/centos  #容器使用的内存上限为1G,虚拟内存500M,超过该内存限制就会停止容器

云计算——虚拟化技术容器资源限制(六)_第6张图片
云计算——虚拟化技术容器资源限制(六)_第7张图片
云计算——虚拟化技术容器资源限制(六)_第8张图片

云计算——虚拟化技术容器资源限制(六)_第9张图片
云计算——虚拟化技术容器资源限制(六)_第10张图片

验证

在这里插入图片描述

云计算——虚拟化技术容器资源限制(六)_第11张图片

在这里插入图片描述

Docker总结

云计算——虚拟化技术容器资源限制(六)_第12张图片
云计算——虚拟化技术容器资源限制(六)_第13张图片
云计算——虚拟化技术容器资源限制(六)_第14张图片
云计算——虚拟化技术容器资源限制(六)_第15张图片

你可能感兴趣的:(云计算,docker,运维)