docker——cgroup限制的应用实例
cgroup限制: 限制的好处:用户可以分配给容器具体的硬件资源,就是防止某个容器占用太多的资源而影响其他的容器或者host主机。 对硬件的限制,也就是cgroup限制,能限制的很少,在容器创建时namespace已经限制好了,只有cpu,mem,硬盘我们来限制。 (1)内存限制: 目的:限制每一个内存线程分配多大内存。 注意:限制的时候不能超过物理内存,可以运行,但是会占用所有物理内存。 格式: docker run -itd -m 200M --memory-swap=300M centos /bin/bash 参数解释: memory可以使用200 swap可以使用100 例子: docker run -itd -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M progrium/stress:测试镜像,启动一个内存工作线程给280m内存 (2)CPU限制: 安装优先级进行限制,数值大,优先级高。 docker run -it --name containera -c 1024 progrium/stress --cpu 1 参数解释: 1024:优先级越大越优先,占用比值,一个占用100,两个各自50% (3)硬盘(Block IO)限制: 限制原因:会反复读写硬盘,容易坏 bps