Docker资源限制概念
1.1CGroup
在Docker的默认配置中是没有对容器做资源限制的,在容器发生异常的状况下有可能耗光宿主机所有资源导致OOM,OOM一旦发生任何进程都有可能被系统杀掉。所以在启动Docker容器时最好是指定CPU、内存、硬盘大小等硬件配额。Docker通过cgroup来控制这些资源配额,也就是说下面讲到的命令其实都是在配置cgroup。
比如调整了CPU的限制后,在/sys/fs/cgroup/cpu/docker/container_id/
可以看到设置的值。cgroup分配的结果取决于当时主机和其他容器的运行状况,如果A容器很空闲,那么即使给它分配了更多份额,也会被其他忙碌的容器抢夺资源,是一种动态分配。设置好配额后可以在容器中用压力工具stress来测试。